+2001-12-31 Richard Henderson <rth@redhat.com>
-Sat Oct 31 15:19:54 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS.
- * Version 2.3 released.
+2001-12-31 Richard Henderson <rth@redhat.com>
- * Makefile.in (install-libobjc): New target.
- ($(srcdir)/gcc.dvi, $(srcdir)/cpp.dvi): New targets.
- (extraclean): rm *diff, *lose, config/*lose.
- (mostlyclean): rm config/core.
+ * regrename.c (build_def_use): Don't rename asm operands that
+ were originally hard registers.
+ (copyprop_hardreg_forward_1): Likewise.
+ (find_oldest_value_reg): Copy ORIGINAL_REGNO from source.
+ * varasm.c (make_decl_rtl): Use gen_rtx_raw_REG. Set ORIGINAL_REGNO.
- * objc-actions.c (OBJC_SELECTORS_WITHOUT_LABELS): Define by default.
+2001-12-31 Douglas B Rupp <rupp@gnat.com>
-Fri Oct 30 20:11:52 1992 James Van Artsdalen (james at bigtex.cactus.org)
+ * config/alpha/vms.h (HAS_INIT_SECTION, NEED_ATEXIT): Remove.
+ (NAME__MAIN, SYMBOL__MAIN): Define.
- * i386.c (output_move_double): Undo 10/25 change. Handle case
- where part of a dest reg is used in a src mem rtx, without using
- stack.
+2001-12-31 Richard Henderson <rth@redhat.com>
-Fri Oct 30 18:52:57 1992 Michael Meissner (meissner@osf.org)
+ * cfgrtl.c (delete_insn): Check for not NOTE_INSN_DELETED_LABEL
+ before decrementing LABEL_NUSES from a jump table.
- * mips.h (MIPS_VERSION): Bump meissner version number to 28.
+ * final.c (alter_subreg): Assign REGNO after changing the rtx code.
- * mips.md (addsi3, subsi3): Don't allow -32768 as the second
- operand, the assembler complains if the instruction fills a delay
- slot.
+ * config/alpha/alpha.c (reg_no_subreg_operand): Reject all
+ non-registers.
-Fri Oct 30 16:11:37 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-31 Graham Stott <grahams@redhat.com>
- * combine.c (simplify_shift_const):
- For a subreg, require subreg_lowpart_p and not paradoxical.
+ * halfpic.h: Remove foward defs of tree_node and rtx_def.
- * Makefile.in (install-fixincludes): Ignore dirs that don't exist.
+ * toplev.h: Remove forward def of tree_node, rtx_def.
-Thu Oct 29 20:15:44 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * except.h: Remove forward def of tree_node, rtx_def and
+ define of tree, rtx. Also remove undefs.
- * gvarargs.h, gstdarg.h [4.3 net 2]: If _VA_LIST_, is undefined
- then va_list is already declared.
+ * basic-block.h: Remove forward def of tree_node and
+ define of tree.
- * i386gas.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
- Override, if NO_UNDERSCORES.
+2001-12-30 Richard Henderson <rth@redhat.com>
-Thu Oct 29 17:30:52 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * cfglayout.c (scope_def, scope_forest_info, forest,
+ relate_bbs_with_scopes, make_new_scope, build_scope_forest,
+ remove_scope_notes, insert_intra_before_1, insert_intra_1,
+ insert_intra_bb_scope_notes, insert_inter_bb_scope_notes,
+ rebuild_scope_notes, free_scope_forest_1, dump_scope_forest,
+ dump_scope_forest_1, get_next_bb_note, get_prev_bb_note): Remove.
+ (fixup_reorder_chain): Don't set scope for bb.
+ (insn_scopes, scope_to_insns_initialize, set_block_levels,
+ change_scope, scope_to_insns_finalize): New.
+ (cfg_layout_initialize, cfg_layout_finalize): Update to match.
+ * cfglayout.h (scope_def, scope): Remove.
+ (reorder_block_def): Remove scope member.
+ (scope_to_insns_initialize, scope_to_insns_finalize): Declare.
+ * haifa-sched.c: Revert reemit_other_notes change.
+ * sched-ebb.c (schedule_ebbs): Don't call remove_unnecessary_notes.
+ Use scope_to_insns_initialize and scope_to_insns_finalize.
+ * sched-rgn.c (schedule_insns): Likewise.
- * flow.c (life_analysis): Mark FP live at end of function.
- * reload1.c (reload): If FP was eliminated, remove it from
- being live in any basic block.
+2001-12-31 Graham Stott <grahams@redhat.com>
- * varasm.c (output_constant_pool): Labels can be deleted by being
- turned into NOTEs, not just have INSN_DELETED_P.
+ * c-lex.c: Include tree.h before expr.h
-Thu Oct 29 16:15:47 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * c-typeck.c: Include rtl.h earlier.
- * gstdarg.h: Use _ANSI_STDARG_H_, not _ANSI_STDARG_H.
+ * tree.h (STRIP_NOPS): Remove extraneous semicolon.
+ (STRIP_SIGN_NOPS): Likewise.
+ (STRIP_TYPE_NOPS): Likewise.
+ (COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): Add Parenthesis around
+ macro paramater.
- * gstddef.h [4.3 net 2]: If _SIZE_T_, etc. are undefined
- then type is already declared.
+ * final.c (struct bb_list): Delete.
+ (struct bb_str): Likewise.
- * m68k.c (print_operand_address) [MOTOROLA !SGS]:
- Don't subtract 2 in the address displacement.
+ * cfgloop.c (flow_loop_entry_edges_find): Fix typo.
+ (flow_loop_exit_edges_find): Likewise.
-Thu Oct 29 14:36:23 1992 Michael Meissner (meissner@osf.org)
+ * gcse.c (gcse_main): Fix typos.
+ (alloc_gcse_mem): Likewise.
- * libgcc2.c (__builtin_vec_new): #undef NULL before including
- stdio.h to prevent redeclaration message.
- (pyramid __enable_execute_stack): Ditto.
+ * function.h: Remove undefs for rtx and tree.
- * i386rose.h (YES_UNDERSCORES): Define.
- (ASM_OUTPUT_LABELREF): Don't redefine.
+2001-12-30 Richard Henderson <rth@redhat.com>
- * mips.h (ASM_FINAL_SPEC): If cross compiling, don't invoke
- mips-tfile by default.
+ * loop.c (check_dbra_loop): Fix last change: examine both
+ has_multiple_exit_targets and exit_count.
- * decrose.h (ASM_FINAL_SPEC): If cross compiling, don't invoke
- mips-tfile by default.
+2001-12-30 Richard Henderson <rth@redhat.com>
- * mips-tdump.c, mips-tfile.c: Handle the case where CROSS_COMPILE
- is defined more gracefully.
+ * integrate.c (copy_rtx_and_substitute): Fix error last change:
+ we need to unconditionally create a new mem.
-Thu Oct 29 12:10:16 1992 Tim Moore (moore at defmacro.cs.utah.edu)
+2001-12-30 Hans-Peter Nilsson <hp@bitrange.com>
- * combine.c (make_extraction): Fix paren error in if for INNER is reg.
+ * config/mmix/mmix.md ("*call_real"): Fix typo in comment.
+ * config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT
+ to mmix_extra_constraint.
+ * config/mmix/mmix.c (mmix_secondary_reload_class): Only handle
+ non-global register classes. Mark now unused parameters as such.
+ (mmix_extra_constraint, 'U'): Use new parameter strict and call
+ calling memory_operand_p or strict_memory_address_p, not
+ address_operand.
+ * config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter.
-Thu Oct 29 13:49:03 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
+2001-12-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * xm-mipsbsd.h: Really delete file.
+ * unroll.c: Move include files above first use of `const'.
-Thu Oct 29 02:48:28 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-12-30 Jakub Jelinek <jakub@redhat.com>
- * dwarfout.c, arm.c, m88k.c: Include "assert.h" instead of <assert.h>.
+ * cfgrtl.c (try_redirect_by_replacing_jump): Allow redirect_jump
+ to fail if target is EXIT_BLOCK_PTR, die otherwise.
+ (redirect_edge_and_branch): Likewise.
+ * cfgcleanup.c (try_forward_edge): Don't force jump redirecting
+ if target is EXIT_BLOCK_PTR.
-Thu Oct 29 00:43:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-29 David Edelsohn <edelsohn@gnu.org>
- * gstddef.h [4.3 net 2]: Force inclusion of ansi.h.
- Undef _SIZE_T_, _PTRDIFF_T_, _WCHAR_T_ at end.
+ * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
+ gcc invoked with -shared.
- * Makefile.in (libgcc2.a, libgcc1.a): Use || to exit if cp fails.
- (install-float-h-cross): Use fi, not done.
- Write float.h in $(tmpdir), not in `.'.
- (tmpdir): New variable.
+2001-12-29 Graham Stott <grahams@redhat.com>
- * i386gas.h (NO_UNDERSCORES): Test was backwards.
- (SDB_DEBUGGING_OUTPUT): Defined.
+ * config/i386/i386.c (ix86_asm_dialect): Fix enum type.
-Wed Oct 28 16:33:34 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ (override_options): Delete abs macro unused.
- * gstdarg.h, gvarargs.h:
- On Net 2 system, don't test, define or undef _VA_LIST_.
- Use _ANSI_H_, __BSD_NET2__ and ____386BSD____ to test for this.
+ (output_pic_addr_const): Use ASM_ATT/ASM_INTEL enumerations
+ when testing ASSEMBLER_DIALECT.
- * i386bsd.h (CPP_PREDEFINES): Add ____386BSD____.
+ (print_reg): Likewise.
+ (print_operand): Likewise.
+ (print_operand_address): Likewise.
+ (print_operand): abort if ASSEMBLER_DIALECT is unknown dialect.
- * c-decl.c (pushdecl): Allow redeclaring builtin as any sort of static.
+ * config/i386/i386.h (ix86_asm_dialect): Fix enum type.
- * Makefile.in (install-cross-tools): Fix typo.
- (all.build): Dep on xgcc instead of $(GCC_PASSES).
+ (FIND_BASE_TERM): Fix typo.
-Wed Oct 28 15:25:42 1992 Tom Wood (wood@dg-rtp.dg.com)
+Sat Dec 29 15:48:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * m88k.c (print_operand): When AS_BUG_FLDCR is defined, use alternate
- fldcr form.
- * m88kdgux.h (AS_BUG_FLDCR): Define to accomodate 4.30 assembler bug.
+ * expr.c (store_field): Use adjust_address, not PUT_MODE.
+ (expand_expr, case VIEW_CONVERT_EXPR): Likewise.
+ * reload1.c (eliminate_regs, case SUBREG): Likewise, but use
+ adjust_address_nv.
+ * varasm.c (make_decl_rtl): Likewise.
+ * integrate.c (copy_rtx_and_substitute, case MEM): Likewise, but use
+ replace_equiv_address_nv.
- * m88kv3.h (CPP_PREDEFINES): Add -Dunix.
+ * varasm.c (decode_addr_const, case INTEGER_CST): Call
+ output_constant_def instead of looking at TREE_CST_RTL.
- * m88kdolph.h (SDB_ALLOW_FORWARD_REFERENCES): Don't override.
+ * expr.c (convert_move): If -fforce-mem, force FROM to not be memory.
-Wed Oct 28 05:34:11 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
+ * stor-layout.c (layout_decl): Don't misalign field of variable size
+ for packed record.
- * reload1.c (gen_input_reload): In PLUS, if OP0 and OP1 are the
- same, use RELOADREG when generating the addition.
+ * dwarf2out.c (compute_section_prefix): Avoid cast warning.
+ (gen_decl_die): Only check DECL_IGNORED_P on decls.
+ (dwarf2out_decl): Check for DECL_IGNORED_P only when needed.
- * reload.c (find_reloads_address): When copying memref after we've
- made recursive calls on it, copy any replacements we made.
+2001-12-29 Jakub Jelinek <jakub@redhat.com>
- * combine.c (can_combine_p): Don't substitute an expression
- containing a register that will be clobbered in I3.
+ * cfglayout.c (insert_intra_before_1): New.
+ (insert_inter_bb_scope_notes): Emit sibling block notes which don't
+ span multiple basic blocks.
- * objc/core.c, objc/hash.c: Include tconfig.h, not config.h.
- Include gstdarg.h.
- * objc/object.m: Include tconfig.h, not config.h.
- Include gstdarg.h before stdio.h.
- * objc/objc.h: Don't include gstdarg.h here.
- * objc/objc-proto.h (CLASS_LOCATION_SHIFT): Use HOST_BITS_PER_LONG,
- not BITS_PER_WORD.
- (setClassNumber, getClassNumber): `info' field is long, not int.
+2001-12-29 Richard Henderson <rth@redhat.com>
-Wed Oct 28 10:54:50 1992 Michael Meissner (meissner@osf.org)
+ * loop.c (prescan_loop): Set has_multiple_exit_targets for exception
+ edges. Rearrange jump interpretation code to use pc_set.
+ (check_dbra_loop): Examine has_multiple_exit_targets not exit_count.
- * libgcc2.c (L_caps_new): Properly close comment.
+ * sched-deps.c (sched_analyze_insn): Set scheduling barrier for
+ all insns that can throw, not just if flag_non_call_exceptions.
-Wed Oct 28 05:50:10 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
+2001-12-29 Stan Shebs <shebs@apple.com>
- * pa.md (mulsi): Input predicates back to srcsi_operands.
- Don't handle constants specifically for TARGET_SNAKE, but call
- force_reg to put them in registers.
- (indexed addressing mode patterns): Remove the patterns with
- unscaled index. Switch off patterns that never match.
+ * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove.
+ (default_constant_string_class_name): New global.
+ (objc_init): Set it.
+ (synth_module_prologue): Use it.
- * longlong.h (file header): Add comment describing sdiv_qrnnd.
- (__hppa sub_ddmmss): Swap input operands.
+ * objc/objc-act.c: Apply various cosmetic and formatting changes.
- * gcc.c (process_command): Check that we have enough arguments.
+2001-12-29 Kazu Hirata <kazu@hxi.com>
-Wed Oct 28 00:40:18 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/rs6000/darwin-tramp.asm: Fix comment formatting.
+ * config/rs6000/freebsd.h: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sh/sh.h: Likewise.
- * configure (i[34]86-*-sysv*): Take note of $stabs.
- * i386gas.h (SDB_DEBUGGING_INFO): #undef deleted.
- (DBX_DEBUGGING_INFO): Definition deleted.
- * i386gstabs.h: New file.
+2001-12-28 Stan Shebs <shebs@apple.com>
- * Makefile.in (mostlyclean): Don't delete tmp-limits.h.
+ * objc/objc-act.c (build_module_descriptor): Make sure the init
+ function is not deferred.
+ (build_dispatch_table_initializer): Compute the method encoding if
+ not already done.
- * i386vgas.h: File deleted.
+2001-12-28 Kazu Hirata <kazu@hxi.com>
-Tue Oct 27 15:35:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * doc/md.texi: Add @findex define_insn_and_split.
- * libgcc2.c: Include stdio.h.
- [__GNU_LIBRARY__] (write): Defined.
+2001-12-28 Hans Bohem <hans_boehm@hp.com>
- * Makefile.in (install-cross-tools): When handling $(tooldir)/include,
- do all cd's starting from build directory.
+ * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
+ * config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp,
+ bsp setup. Set pri_unat_loc to something reasonable.
+ (uw_install_context): Add missing cast.
+ (unw_access_gr): Fix off-by-1 indexing error.
- * i386gas.h (NO_UNDERSCORES): Don't define, if YES_UNDERSCORES.
- * i386linux.h (YES_UNDERSCORES): Defined.
+2001-12-28 Kazu Hirata <kazu@hxi.com>
-Tue Oct 27 14:17:43 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
+ * except.c: Fix comment formatting.
+ * flags.h: Likewise.
+ * flow.c: Likewise.
+ * predict.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * system.h: Likewise.
+ * vmsdbg.h: Likewise.
+ * vmsdbgout.c: Likewise.
- * configure (i[34]86-*-linux): Set broken_install.
- * x-linux (INSTALL): Delete.
- * x-iris (INSTALL): Delete.
+2001-12-28 Kazu Hirata <kazu@hxi.com>
-Tue Oct 27 13:39:22 1992 Tim Moore (moore@hal.gnu.ai.mit.edu)
+ * config/h8300/h8300.md: Fix formatting.
- * pa.h (ASM_GLOBALIZE_LABEL): Give function symbols CODE type,
- others DATA type.
+2001-12-28 Geoff Keating <geoffk@redhat.com>
-Mon Oct 26 16:40:43 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * varasm.c (record_constant_1): Correct parameter to recursive
+ call in default case.
- * c-typeck.c (build_c_cast): Don't warn about size change between
- pointer and integer if the value is constant.
+2001-12-28 Jakub Jelinek <jakub@redhat.com>
- * Makefile.in (libobjc.a): If ln fails, copy libobjc.a.
+ * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT,
+ ASM_OUTPUT_DWARF_PCREL): Define.
+ * config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ * configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports
+ .uaword %r_disp32() and linker handles it correctly.
+ * configure, config.in: Rebuilt.
-Mon Oct 26 16:21:11 1992 Tim Moore (moore@defmacro.cs.utah.edu)
+2001-12-28 Jakub Jelinek <jakub@redhat.com>
- * pa.h (EXPORT_PARMS, ASM_DECLARE_FUNCTION): Blow away usage of
- EXPORT_PARMS. BUGGY_GAS isn't a problem any more.
- (TEXT_SPACE_P, FUNCTION_NAME_P): New macros.
- (ENCODE_SECTION_INFO): Use TEXT_SPACE_P.
- (STRIP_NAME_ENCODING): Strip a '*' which might preceed a '@'.
- (ASM_OUTPUT_EXTERNAL): Give only function labels a CODE type.
- (ASM_OUTPUT_LABELREF): Use FUNCTION_NAME_P.
- * pa.c (hppa_encode_label): Change function name encoding to
- preserve leading '*' if there is one.
- (function_label_operand): Use FUNCTION_NAME_P macro.
+ * c-typeck.c (store_init_value): If initializing object with array
+ type of unknown size by a compound literal, set object's size from
+ compound literal size.
+ * doc/extend.texi (Compound Literals): Adjust documentation.
-Mon Oct 26 14:39:46 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
+2001-12-28 Richard Henderson <rth@redhat.com>
- From Tim Moore:
- * function.c (locate_and_pad_parm): In ARGS_GROW_DOWNWARD case,
- don't pad to argument alignment if where_pad is downward.
+ * real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
+ (endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
+ (etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
+ * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
+ INTEL_EXTENDED_IEEE_FORMAT.
-Mon Oct 26 11:21:36 1992 Chris Smith (csmith@convex.com)
+2001-12-27 Geoff Keating <geoffk@redhat.com>
- * convex.h (SHIFT_COUNT_TRUNCATED): Undefine.
+ * combine.c (try_combine): Mask off sign bits when combining
+ stores to the low and high parts of a two-word value.
-Mon Oct 26 07:48:35 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * expr.c (expand_expr): Don't mark memory for non-constants as
+ constant.
- * alpha.c (print_operand, new 'L'): New case.
- * alpha.md (movhi/movqi patterns): For long constants, use 'i'
- constraint instead of 'K'; use "%L1" in template.
+Thu Dec 27 20:39:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * configure (alpha): Set use_collect2.
+ * integrate.c (copy_rtx_and_substitute, case MEM): If inlining
+ and not for LHS, clear RTX_UNCHANGING_P.
-Mon Oct 26 04:19:24 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-28 Philipp Thomas <pthomas@suse.de>
- * xm-alpha.h: Declare calloc.
+ * cppfiles.c (stack_include_file): Don't translate <stdin>.
-Sun Oct 25 17:19:52 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-27 Roger Sayle <roger@eyesopen.com>
- * function.c (fixup_var_refs_insns): Don't call delete_insn if not -O.
- Make a NOTE_INSN_DELETED instead.
+ * builtins.c (expand_builtin_memcmp): Optimize memcmp built-in
+ when all arguments are known constant. Fixes PR opt/3508.
-Sun Oct 25 11:57:04 1992 Chris Smith (csmith@convex.com)
+2001-12-27 Kazu Hirata <kazu@hxi.com>
- * convex.h (target_flags): prevent -mnoc2 from clearing
- TARGET_INDIRECTS.
- (TARGET_INDIRECTS): Always on.
+ * config/h8300/h8300.md (two anonymous patterns): Remove.
-Sun Oct 25 16:56:18 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
+2001-12-27 Richard Henderson <rth@redhat.com>
- * calls.c (expand_call): Don't call convert_to_mode if we obtained
- VALUE in the proper mode; VALUE might be a CONST_INT.
+ * haifa-sched.c (reemit_other_notes): New.
+ (schedule_block): Use it.
+ * sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
+ * sched-rgn.c (schedule_insns): Likewise.
+ * cfglayout.c (remove_scope_notes): Handle removing note at
+ the end of the insn chain.
+ * function.c (debug_find_var_in_block_tree): New.
-Sun Oct 25 03:18:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-27 Alan Modra <amodra@bigpond.net.au>
+ David Edelsohn <edelsohn@gnu.org>
- * expr.c (gen_push_operand): No longer static.
+ * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify.
- * i386.c (output_move_double): Divert first word via the stack
- if it's a register used in the input operand.
- * i386.md (movdi): Delete the `&' from constraint.
+2001-12-27 Jakub Jelinek <jakub@redhat.com>
-Sat Oct 24 21:41:00 1992 Chris Smith (csmith@convex.com)
+ * toplev.c (independent_decode_option): Re-add -aux-info option
+ handling.
- * convex.md (movstrictsi): Correct output constraint is + not =.
+Thu Dec 27 09:50:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Sat Oct 24 14:10:43 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note
+ if special value.
- * news.h (FUNCTION_EPILOGUE): Fix typos.
+2001-12-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * cccp.c (get_lintcmd): Length of `LINTLIBRARY' is 11.
+ * collect2.c (is_ctor_dtor): Const-ify.
+ * m88k-protos.h (output_file_start): Likewise.
+ * m88k.c (m88k_lang_independent_options, output_options,
+ output_file_start): Likewise.
+ * fix-header.c (files_to_ignore, std_include_entry, include_entry,
+ std_include_table, main): Likewise.
+ * protoize.c (longopts): Likewise.
+ * regclass.c (int_reg_class_contents): Likewise.
+ * toplev.c (dump_file, f_options, W_options): Make static.
+ (lang_independent_options, f_options, W_options): Const-ify.
+ * tree-dump.c (dump_file_info): Likewise.
+ * unroll.c (_factor): Make static.
-Sat Oct 24 13:22:09 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
+Wed Dec 26 17:55:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * arm.md (DImode patterns): Add `&' to target operand constraints.
+ * config/alpha/alpha.c (alpha_align_insns): Remove warning.
- * Makefile.in (setting version variable): Prepend $(srcdir) to
- version.c.
+ * config/sparc/sparc.md (call struct patterns): Show starting
+ at two words long.
- From Wilson:
- * longlong.h (sparclite): Use machine independent USItype instead
- of explicit types.
+2001-12-26 David Edelsohn <edelsohn@gnu.org>
-Sat Oct 24 10:35:18 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405.
+ * sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405.
- * rs6000.md (movdi): Tests were in wrong order.
+2001-12-26 DJ Delorie <dj@redhat.com>
- * rs6000.h (LEGITIMIZE_ADDRESS): Indexed addresses are not valid
- for DImode and TImode; GO_IF_LEGITIMATE_ADDRESS knows this.
+ * function.c (expand_main_function): Make sure stack adjustments
+ happen before sjlj exception setup.
- * Makefile.in (mostlyclean): Add missing semicolon.
+2001-12-26 David Edelsohn <edelsohn@gnu.org>
- * a29k.c (a29k_set_memflags, a29k_set_memflags_1): New functions.
- * a29k.md (movqi, movhi, reload_{in,out}{qi,hi}): Use them.
+ * rs6000.md (indirect_jump): Prefer CTR over LR.
+ * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
- * alpha.c (get_aligned_mem): Copy memory flags to new MEM.
- (alpha_set_memflags, alpha_set_memflags_1): New functions.
- * alpha.md (movqi, movhi, reload_{in,out}{qi,hi}): Use new
- functions.
+Tue Dec 25 12:04:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * alpha.h (ASM_FILE_START): Stop at blank in version string.
+ * dwarf2out.c: Reformatting and minor code rearrangement.
-Sat Oct 24 04:35:16 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-24 Douglas B. Rupp (rupp@gnat.com)
- * reload1.c (emit_reload_insns): If not -O, Don't try find_equiv_reg.
- (choose_reload_regs): If not -O, don't inherit reloads.
+ * configure.in (quoted_stage_prefix_set_by_configure): Generate.
+ * configure: Regenerated.
+ * Makefile.in (SUBDIR_FLAGS_TO_PASS): Use
+ quoted_stage_prefix_set_by_configure.
-Fri Oct 23 18:07:10 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+Mon Dec 24 10:24:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * news.h (FUNCTION_EPILOGUE):
- If no frame ptr, increment stack ptr to free up the local space.
+ * rtl.h (in_expr_list_p): New declaration.
+ * rtlanal.c (in_expr_list_p): New function.
+ * cfgcleanup.c: Reformatting and minor code rearrangement.
+ * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise.
- * gcc.c (process_command): Discard after first space in spec_version.
+2001-12-23 Richard Henderson <rth@redhat.com>
- * print-tree.c (print_node): Always output `>' to match `<'.
+ PR c/5163:
+ * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when
+ we have a function body associated. Minor cleanups.
+ (grokdeclarator): Do not set DECL_INLINE without a function body.
- * Makefile.in (version): Use sed to extract.
- Ignore excess after space.
- (install-fixincludes): Fix typo in last change.
+2001-12-23 Richard Henderson <rth@redhat.com>
- * configure (i386-ibm-aix*): Use aix386ng.h if not --with-gas.
- * aix386ng.h: New file.
+ * stmt.c (resolve_operand_names): Handle operand modifiers.
-Fri Oct 23 15:14:49 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
+2001-12-23 Richard Henderson <rth@redhat.com>
- * sdbout.c (sdbout_symbol): Return if a symbol's DECL_NAME is
- empty, since we won't be able to make a symtab of it.
+ * stmt.c (parse_input_constraint): Break out from ...
+ (expand_asm_operands): ... here. Loop over the operands twice,
+ the first time only calling mark_addressable. Correct and simplify
+ the conditions for spilling an output operand to memory.
- * convex.h (P_tmpdir): Remove definition.
- * xm-convex.h: Put it here.
+2001-12-23 Richard Henderson <rth@redhat.com>
-Fri Oct 23 10:27:34 1992 Michael Meissner (meissner@osf.org)
+ * config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
- * i386rose.h (ASM_OUTPUT_LABELREF): Define so that external
- identifiers have leading underscores in front of them.
+ * config/alpha/alpha.md (UNSPEC_SIBCALL): New.
+ (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
+ (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
- * mips-tfile.c (parse_stabs_common): Allow stabs with line numbers
- of 0. These come from g++ for compiler generated functions that
- take arguments.
+2001-12-23 Joseph S. Myers <jsm28@cam.ac.uk>
-Fri Oct 23 07:49:12 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * c-typeck.c (c_start_case): Don't strip conversions from the
+ controlling expression. Partially fixes PR c/2454.
- * romp.c (output_fpops): Add SYMBOL_REF and LABEL_REF cases to
- constants handled.
+2001-12-23 Joseph S. Myers <jsm28@cam.ac.uk>
-Fri Oct 23 01:58:12 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * Makefile.in (USER_H): Remove proto.h.
+ * config.gcc (c*-convex-*): Set extra_headers=proto.h.
- * flow.c (find_basic_blocks): Check for LABEL_REF_NONLOCAL_P
- in label_value_list.
- * jump.c (mark_jump_label): Copy LABEL_REF_NONLOCAL_P from
- LABEL_REF into REG_LABEL note.
+2001-12-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * toplev.c (push_float_handler): Declare arg old_handler.
+ * arc.c (arc_hard_regno_mode_ok): Const-ify.
+ * arc.h (arc_hard_regno_mode_ok): Likewise.
+ * i386.c (x86_64_reg_class_name): Make static.
+ * m68k.c (regno_reg_class): Const-ify.
+ * m68k.h (regno_reg_class): Likewise.
+ * mcore.c (reg_class_from_letter): Likewise.
+ * mcore.h (reg_class_from_letter): Likewise.
+ * sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
+ ext_shift_insns, ext_shift_amounts): Likewise.
+ * sh.h (reg_class_from_letter): Likewise.
+ * sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
+ hard_64bit_mode_classes): Likewise.
+ * sparc.h (hard_regno_mode_classes): Likewise.
- * t-next (OTHER_FIXINCLUDES_DIRS): Defined.
+ * gcc.c (modify_target): Make static.
+ * gengenrtl.c (defs, formats): Likewise.
+ * reload1.c (elim_table_1, init_elim_table): Const-ify.
+ * tradcpp.c (directive, directive_table, handle_directive,
+ skip_if_group, run_directive): Likewise.
- * Makefile.in (OTHER_FIXINCLUDES_DIRS): New variable, normally empty.
- (install-fixincludes): Run fixincludes on those dirs.
- * fixincludes: Convert //-style comments to /*...*/ style.
+2001-12-23 Richard Henderson <rth@redhat.com>
- * loop.c (record_biv): Clear total_benefit field of new iv_class.
- (get_condition):
- Verify op 2 of source is label_ref before looking within.
+ * calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for
+ an invalid result register; do end the sequence properly.
+ (emit_library_call_value_1): Likewise.
-Thu Oct 22 21:17:53 1992 Tim Moore (moore at defmacro.cs.utah.edu)
+2001-12-22 Aldy Hernandez <aldyh@redhat.com>
- * varasm.c (STRIP_NAME_ENCODING): New macro to decode a symbol name
- munged by ENCODE_SECTION_INFO.
- (assemble_start_function, assemble_variable): Use STRIP_NAME_ENCODING.
- * pa.h (STRIP_NAME_ENCODING): New definition.
+ * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
-Thu Oct 22 17:53:37 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
- * Makefile.in (mostlyclean): Clean objc subdir only if it exists.
+ * config/rs6000/rs6000.c: Clean up some spacing and indentation.
+ (altivec_init_builtins): Add tree types for builtins with 4 bit
+ literals.
+ (bdesc_3arg): Add vsldoi variants.
- * news.h (FUNCTION_PROLOGUE): Do allocate local stack space
- when no frame pointer.
+2001-12-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Thu Oct 22 15:21:27 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * 1750a.h (datalbl, jmplbl): Declare array size explicitly.
+ * a29k.h (a29k_debug_reg_map): Likewise.
+ * arc.h (arc_regno_reg_class): Likewise.
+ * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
+ * convex.h (regno_reg_class, reg_class_from_letter): Likewise.
+ * d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
+ * i386.h (regclass_map): Likewise.
+ * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
+ * mcore.h (regno_reg_class): Likewise.
+ * mips.h (mips_print_operand_punct, mips_char_to_class):
+ Likewise.
+ * ns32k.h (regclass_map): Likewise.
+ * pj.h (pj_debugreg_renumber_vec): Likewise.
+ * s390.h (regclass_map): Likewise.
+ * sh.h (regno_reg_class): Likewise.
+ * sparc.h (sparc_regno_reg_class): Likewise.
- * i960.h (FUNCTION_VALUE): Simplify, just return reg 0.
- * i960.c (i960_function_value): Delete.
+ * hard-reg-set.h (reg_class_contents): Likewise.
+ * machmode.h (class_narrowest_mode): Likewise.
-Thu Oct 22 09:42:50 1992 Michael Meissner (meissner@osf.org)
+2001-12-22 David Edelsohn <edelsohn@gnu.org>
- * mips-tfile.c (parse_stabs_common): Ignore stab line numbers
- of 0, since the G++ front end generates them. Check whether
- line numbers can fit within the index field, and if not report
- an error.
+ * loop.c (scan_loop, move_movables, count_one_set): Do not
+ overlook hard registers when computing statistics.
- * mips.c (function_arg): Align passed structures to double word
- boundary if structure has double word alignment.
+Sun Dec 23 00:49:37 CET 2001 Jan Hubicka <jh@suse.cz>
- * mips.h (STACK_DYNAMIC_OFFSET): Do not define this macro in order
- to work around a bug.
+ * calls.c (ECF_LIBCALL_BLOCK): New constant.
+ (emit_call_1, initialize_argument_information,
+ precompute_arguments, expand_call,
+ emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
+ instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
-Thu Oct 22 08:00:43 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-22 Joseph S. Myers <jsm28@cam.ac.uk>
- * gstdarg.h, gvarargs.h: Treat _AIX and _M_UNIX like __svr4__.
+ * config.gcc (extra_headers): Move settings to math-68881.h and
+ ppc-asm.h to common code for CPU types. Use math-68881.h on all
+ m68k targets.
+ (header_files): Remove unused setting.
- * i386gas.h (NO_UNDERSCORES): Defined.
+2001-12-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * next.h (INCLUDE_DEFAULTS): Put in GPLUSPLUS_INCLUDE_DIR,
- GCC_INCLUDE_DIR, LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR.
- Don't define at all if cross-compiling.
+ * elxsi.c: Include "hard-reg-set.h" and/or don't declare
+ `call_used_regs' explicitly.
+ * i860.c: Likewise.
+ * m68k.c: Likewise.
+ * ns32k.c: Likewise.
+ * pa.c: Likewise.
+ * vax.c: Likewise.
+ * we32k.c: Likewise.
- * tree.c (copy_node): Copy the excess bytes--don't clear them.
+Fri Dec 21 23:30:14 CET 2001 Jan Hubicka <jh@suse.cz>
-Thu Oct 22 06:40:55 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
+ (TARGET_CPU_DEFAULT_*): Renumber.
- * a29k.h (TARGET_SWITCHES): Add missing complementary switches:
- -mno-stack-check and -mstorem-bug.
+Sat Dec 22 12:20:20 EST 2001 John Wehle (john@feith.com)
- * a29k.md (long constant split): Use gen_lowpart instead of making
- a SUBREG directly.
+ * rtl.h (subreg_lsb): Declare.
+ * rtlanal.c (subreg_lsb): Implement.
- * arm.h (STORE_FLAG_VALUE): Remove bogus definition.
+Sat Dec 22 08:59:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Thu Oct 22 03:04:28 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * predict.c: Reformatting and minor cleanups.
+ * cfg.c, cfganal.c, cfgbuild.c: Likewise.
- * m88k.c (prologue_marked): New variable.
- (m88k_end_prologue): Output the epilogue mark here if the start of
- the epilogue passed the end of the prologue.
- (m88k_begin_epilogue): Don't output the epilogue mark if the end
- of the prologue hasn't been processed yet.
+ * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
+ SAVE_EXPR.
+ * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
+ (put_addressof_into_stack): Clarify code in setting of used_p.
-Thu Oct 22 03:20:40 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
+ (expand_call): Delete from here.
+ Do pending stack adjustments if ECF_SP_DEPRESSED.
- * function.c (put_var_into_stack): When we operate on a pseudo
- that holds the address, use proper modes.
+ * dwarf2out.c (save_rtx): Deleted.
+ (mem_loc_descriptor): Do equivalent operation.
+ (add_const_value_attribute, case CONST): Likewise.
+ (add_name_and_src_coords_attributes): Likewise.
- * combine.c (make_extraction): Use is_mode, not inner_mode,
- for BYTES_BIG_ENDIAN adjustment to offset for non-bitfield case.
- Update is_mode when stripping subreg from around a mem.
+2001-12-21 Kazu Hirata <kazu@hxi.com>
- * m68k.h (GO_IF_INDEXABLE_BASE): Allow LABEL_REF only if jump table.
+ * config/h8300/h8300.h: Fix comment formatting.
-Wed Oct 21 18:55:24 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+Fri Dec 21 17:30:15 2001 Jeffrey A Law (law@redhat.com)
- * gstdarg.h: Check and define _ANSI_STDARG_H along with _STDARG_H.
+ * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
+ (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
-Wed Oct 21 11:41:39 1992 Tom Wood (wood at gen-rtx)
+2001-12-21 Robert Lipe <robertlipe@usa.net>
- * toplev.c (push_float_handler, pop_float_handler): New functions.
- * fold-const.c (real_value_truncate):
- Use them, in case another handler is already in effect.
+ * system.h (PREFETCH): Explictly undefine.
-Wed Oct 21 22:08:31 1992 H.J. Lu (hlu@yardbird.eecs.wsu.edu)
+2001-12-21 Richard Henderson <rth@redhat.com>
- * Makefile (all.build): Add target $(GCC_PASSES) for xgcc.
- * build-make (CC): Defined.
- (CROSS_GCC_FLAGS): Deleted.
- (HOST_CC): Delete -V option; CC supplies that.
+ * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
+ (RESTORE_WARN_FLAGS): Restore it.
+ (extension): Zero warn_traditional.
-Wed Oct 21 12:34:39 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
+2001-12-21 Kazu Hirata <kazu@hxi.com>
- From Wilson:
- * longlong.h (sparclite udiv_qrnnd): Remove comma before
- __AND_CLOBBER_CC.
+ * doc/passes.texi: Fix a typo.
-Wed Oct 21 12:24:24 1992 Michael Meissner (meissner@osf.org)
+2001-12-21 Kazu Hirata <kazu@hxi.com>
- * decrose.h (WORD_SWITCH_TAKES_ARG): Add -pic-names.
- (CC1_SPEC): If -pic-names, pass -mhalf-pic to cc1.
+ * config/h8300/h8300.h: Fix a comment typo.
- * i386rose.h (WORD_SWITCH_TAKES_ARG): Add -pic-names.
- (CC1_SPEC): If -pic-names, pass -mhalf-pic to cc1.
+2001-12-21 Jakub Jelinek <jakub@redhat.com>
-Wed Oct 21 07:34:16 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * combine.c (nonzero_bits): If using reg_nonzero_bits,
+ we don't know anything about bits outside of X mode.
+ (num_sign_bit_copies): Likewise.
- * configure (alpha): Only accept OSF/1.
+2001-12-21 Nick Clifton <nickc@cambridge.redhat.com>
- * alpha.h (ASM_FILE_START): Change .verstamp ident for BL9.
- * alpha.md (div/mod): Change calling sequence to agree with BL9.
+ * config/arm/arm.md (prefetch): Use 'a' operand code.
- * expr.c (do_store_flag): Ensure we don't get confused when
- emit_store_flag fails and an operand has a QUEUED.
+2001-12-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Wed Oct 21 02:53:58 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
+ subshells.
+ * configure.in: Likewise for perl Pod::Man.
- * cexp.y (integer_overflow): Do nothing unless pedantic.
+ * configure: Regenerated.
-Tue Oct 20 17:02:15 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+2001-12-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * README, sparc.h, flow.c, regs.h: Change global-alloc.c to global.c.
+ * builtin-attrs.def (__builtin_printf_unlocked,
+ __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
+ Mark with the __printf__ attribute.
- * i960.md (call, call_value): Use 'd' not 'r' constraint for scratch.
+ * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
+ and set the replacement function depending on it.
+ (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
+ Handle BUILT_IN_*_UNLOCKED when optimizing.
- * gcc.c (WORD_SWITCH_TAKES_ARG): Handle -Ttext and -Tbss in
- addition to -Tdata.
- * i960.h (WORD_SWITCH_TAKES_ARG): Delete, now unnecessary.
- * next.h (WORD_SWITCH_TAKES_ARG): Add -Tbss.
- * sparc.h, sun2.h, sun3.h (WORD_SWITCH_TAKES_ARG): Add -Ttext and
- -Tbss.
+ * builtins.def (DEF_EXT_FALLBACK_BUILTIN,
+ DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
+ Declare the "unlocked" stdio functions.
-Tue Oct 20 16:49:57 1992 Ron Guilmette (rfg at netcom.com)
+ * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
+ Add an `unlocked' parameter and set the replacement function
+ depending on it.
+ (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
+ BUILT_IN_FPRINTF_UNLOCKED.
- * dwarfout.c (dwarfout_file_scope_decl): Generate DIEs for
- built-in non-fundamental types.
+ * doc/extend.texi (printf_unlocked, fprintf_unlocked,
+ fputs_unlocked): Document.
-Tue Oct 20 14:58:18 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-20 Josef Zlomek <zlomek@matfyz.cz>
- * objc-actions.c (handle_impent, handle_class_ref): Use __
- to start the generated names, not period.
+ * cfgloop.c (flow_loops_find): Use the information of the depth
+ first search order of the CFG correctly when finding natural loops.
-Tue Oct 20 14:38:30 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
+2001-12-20 Richard Henderson <rth@redhat.com>
- * cp-method.c (fndecl_as_string): Undo change of Sep 14th for
- emitting a space after the return type of a fn.
+ * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
- Wed Oct 7 16:01:55 1992 Chip Salzenberg (chip@tct.com)
+2001-12-20 Richard Henderson <rth@redhat.com>
- * cp-lex.c (readescape): No warning if digits in \x are all 0's.
+ * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
+ * config/alpha/alpha.md (call_osf, call_value_osf): Don't force
+ operand into $27.
-Tue Oct 20 06:50:28 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
- * expr.c (force_operand): Clarify comment to say what it can return.
- * integrate.c (copy_rtx_and_substitute): Don't assume force_operand
- on an address returns a REG; it might be a SUBREG. Use force_reg.
+ * configure.in (all_headers, all_lib2funcs): Remove.
+ * configure: Regenerate.
+ * Makefile.in (LANG_EXTRA_HEADERS): Remove.
+ (USER_H): Don't include $(LANG_EXTRA_HEADERS).
+ * config/alpha/t-interix (USER_H): Don't include
+ $(LANG_EXTRA_HEADERS).
+ * config/i386/t-interix: Likewise.
+ * config/t-openbsd: Likewise.
-Tue Oct 20 04:54:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-20 Andreas Jaeger <aj@suse.de>
- * tree.c (make_node, copy_node):
- Don't assume node length is multiple of int.
+ * libgcc2.c (__bb_exit_func): Remove unused variable.
+ (num_digits): Remove unused function.
-Mon Oct 19 18:14:56 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
+2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
- * genrecog.c (write_tree): For type SPLIT, check subroutine return
- values for non-zero value not positive value.
+ * config/arm/arm.c (arm_output_epilogue): Changed IP restore
+ to use ldmfd instead of ldmea.
+ * config/arm/arm.c (arm_compute_initial_elimination_offset):
+ Modified to reflect behavior of arm_expand_prologue when generating
+ interrupt handlers
-Mon Oct 19 16:11:04 1992 Michael Meissner (meissner@osf.org)
+2001-12-20 Nick Clifton <nickc@cambridge.redhat.com>
- * c-typeck.c (print_table, scan_table): Add support for XPG4's %S
- and %C formats for printing/reading wide characters. %lc and %ls too.
+ * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): New
+ function. Compute which of registers r0 through r12 should be
+ saved onto the stack during a function's prologue.
+ (arm_compute_save_reg_mask): Use
+ arm_compute_save_reg0_reg12_mask.
+ (arm_compute_initial_elimination_offset): Use
+ arm_compute_save_reg0_reg12_mask.
-Mon Oct 19 17:58:18 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
+ (arm_expand_prologue): Do not mark as save of the IP register
+ for an interrupt handler as being part of the frame creation
+ code.
- * arm.c (output_epilogue): Restore sp's value if no frame pointer.
+2001-12-20 Richard Henderson <rth@redhat.com>
- From Wilson:
- * pa.h (WORD_SWITCH_TAKES_ARG): Delete sparc related cruft.
+ * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
+ to emit floating point values.
+ (assemble_real_1): Remove.
-Mon Oct 19 14:49:03 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+ * 1750a/1750a.c (real_value_to_target_single): New.
+ (real_value_to_target_double): New.
+ * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
+ (REAL_VALUE_TO_TARGET_SINGLE): New.
+ (REAL_VALUE_TO_TARGET_DOUBLE): New.
+ * 1750a/1750a-protos.h: Update.
- * cp-parse.y (primary): Don't try building a CALL_EXPR or
- converting types if $$ is an error_mark.
+ * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
+ alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
+ avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
+ d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
+ fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
+ i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
+ i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
+ i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
+ m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
+ m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
+ m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
+ m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
+ mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
+ mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
+ ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
+ romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
+ sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
+ vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
+ ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
+ ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
+ associated support routines.
-Mon Oct 19 14:01:02 1992 Tom Wood (wood@dg-rtp.dg.com)
+Thu Dec 20 16:58:46 CET 2001 Jan Hubicka <jh@suse.cz>
- * m88k.h (SECONDARY_INPUT_RELOAD_CLASS): Require a temporary for a
- pic address with a large constant term.
- * m88k.md (reload_insi): New pattern.
- (addsi3 pattern for large constants): Delete. Causes reload trouble.
- * m88k.c (emit_move_sequence): Add scratch register. All callers
- changed.
- (legitimize_address): Add scratch register. All callers changed
- to pass zero instead of gen_reg_rtx result. Allocate another temp
- register for -fPIC case. Use scratch register for pic cases with
- a large constant term.
+ * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
+ if one of block does not contain jump.
+ (outgoing_edge_math): Revert last path; require edges to be noncomplex
+ nonfake to match single exit edge; require conditional jumps to not
+ have side effect.
- * m88k.h (FUNCTION_PROFILER_LENGTH, FUNCTION_BLOCK_PROFILER_LENGTH,
- BLOCK_PROFILER_LENGTH, REG_PUSH_LENGTH, REG_POP_LENGTH): Added.
- (ADJUST_INSN_LENGTH): Account for profiling code.
+2001-12-20 Turly O'Connor <turly@apple.com>
-Mon Oct 19 16:46:52 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
+ "recog_operand" to "recog_data.operand".
+ * rtl.def: Likewise.
- * Makefile.in (libobjc.a): Don't mkdir objc if dir exists.
+2001-12-20 Jakub Jelinek <jakub@redhat.com>
- * expr.c (store_field): If trying to sign-extend a constant,
- use value_mode as the mode.
+ * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
+ narrower mode than op0, only return the bits in DIV's mode.
-Mon Oct 19 10:59:20 1992 Michael Meissner (meissner@osf.org)
+2001-12-20 Jakub Jelinek <jakub@redhat.com>
- * xm-umips.h (index): Define to be strchr.
- (rindex): Define to be strrchr.
+ * combine.c (distribute_notes): Avoid adding REG_LABEL notes
+ to JUMP_INSNs with JUMP_LABEL.
- * mips-tdump.c (index, rindex): Undefine these, since the MIPS
- include files have a field spelled index.
+2001-12-19 Aldy Hernandez <aldyh@redhat.com>
-Mon Oct 19 03:34:04 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * doc/install.texi: Add documentation for --enable-altivec.
- * Makefile.in (mostlyclean): Delete libobjc.a.
- (libobjc.a): Create the objc subdir.
+ * config.gcc: Add support for --enable-altivec.
-Sun Oct 18 17:52:05 1992 Arne H. Juul (arnej@lise.unit.no)
+ * config/rs6000/altivec.h: New.
- * objc/Makefile: Add .SUFFIXES .m and .m.o rule to keep non-GNU
- make happy.
+ * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
+ Define. Fix typo.
- * Makefile.in (libobjc.a): Remove libobjc.a in current directory
- before attempting to hardlink it or make will fail in later stages.
- (sublibobcj.a): Don't use $(MAKEFLAGS) for objc subdir stuff.
+ * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
+ unspec_volatile.
+ (generate_set_vrsave): Generate the unspec here instead of calling
+ an .md pattern.
+ (generate_set_vrsave): Use gen_rtvec.
+ (rs6000_emit_prologue): Replace call to gen_get_vrsave with
+ gen_rtx_SET.
-Sun Oct 18 06:00:27 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
+ * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
+ for setting special registers.
+ ("*set_vrsave_internal"): Use unspec_volatile.
+ ("set_vrsave"): Remove.
+ ("get_vrsave"): Remove.
- * cse.c (canon_reg): Don't call validate_change if INSN is zero.
+ * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
+ SPECIAL_REGS.
-Sun Oct 18 01:09:02 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-19 Bruce Korb <bkorb@gnu.org>
- * i860.h (PRINT_OPERAND): For `h', always use OPERAND_HIGH_ADJ_PART
- even for integer constant addresses.
+ * gcc/fixinc/inclhack.def: Remove all the fix suppression "fixes".
+ (strict_ansi_not_ctd): accommodate __STDC__ == 0 tests in UW 2.1.2
+ * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
+ * gcc/fixinc/base/...: adjust for changes in fixes
- * final.c (output_addr_const): Always use FILE, not asm_out_file.
+2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
- * cccp.c (collect_expansion): Don't add whitespace at end
- if inside a string and not traditional.
- (rescan): At end of string, if inside macro, always keep scanning.
+ * po/gcc.pot: Regenerate.
- * expr.c (store_field): If signed bitfield and want value, sign extend.
+ * configure.in (all_diff_excludes, diff_excludes): Remove.
+ * configure: Regenerate.
+ * Makefile.in (LANG_DIFF_EXCLUDES): Remove.
+ * objc/config-lang.in (diff_excludes): Remove.
-Sat Oct 17 21:11:09 1992 H.J. Lu (hlu@yardbird.eecs.wsu.edu)
+2001-12-19 Dan Nicolaescu <dann@ics.uci.edu>
- * Makefile.in (all.build): New rule for making gcc with a
- cross-compiler.
- (install.build): New target.
- (line 271): Add `####build overrides'.
- (gen*.o): Depend on hconfig.h, not config.h.
- ($(HOST_PREFIX_1)rtl.o, $(HOST_PREFIX_1)print-rtl.o,
- $(HOST_PREFIX_1)rtlanal.o, $(HOST_PREFIX_1)obstack.o,
- $(HOST_PREFIX_1)malloc.o): Add final `h' to the regexp to replace.
+ * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
+ the destination register as a parameter to mems_ok_for_ldd_peep.
+ For store peepholes pass NULL_RTX. Move all volatile checks ...
+ * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here. Add a
+ register parameter, check it's not the same as base for an address.
+ * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
- * configure: If $host == $taget, but $host != $build, merge
- `build-make' and emit `build = $build'.
- * build-make: New file for making gcc with a cross-compiler.
+2001-12-19 Jakub Jelinek <jakub@redhat.com>
-Sat Oct 17 19:24:31 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/ia64/ia64.c (ia64_single_set): Return first set for
+ prologue_allocate_stack and epilogue_deallocate_stack instructions.
- * c-typeck.c (process_init_constructor): When initializing a union,
- handle the case of an empty init list.
+2001-12-19 Dale Johannesen <dalej@apple.com>
- * reload.c (find_reloads_address): Redo last change: copy the mem
- in the same way it's usually done.
+ * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
+ redefine in terms of rs6000_legitimize_reload_address().
+ * config/rs6000/rs6000-protos.h: Add this function.
+ * config/rs6000/rs6000.c: Add this function. Includes
+ handling for Darwin FP constants.
- * Makefile.in (gcc.xtar): Fix typo in last change.
- (mostlyclean): Don't use $(MAKEFLAGS) for objc subdir stuff.
+Wed Dec 19 11:01:21 2001 Jeffrey A Law (law@redhat.com)
-Sat Oct 17 19:15:16 1992 John Wroclawski (jtw@pmws.lcs.mit.edu)
+ * config/pa/t-hpux-shlib: New file.
+ * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
+ for 32bit hpux10 & hpux11 configurations.
- * decstatn.h (SIZE_TYPE): Fix typo.
+2001-12-19 Nick Clifton <nickc@cambridge.redhat.com>
-Sat Oct 17 17:46:08 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
+ * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
+ -mno-fpu onto gas unless -mhard-float is specified.
+ (MULTILIB_DEFAULTS): Include msoft-float.
- * cp-method.c: Don't try to include string.h or strings.h.
- * cp-decl.c: Ditto.
+ * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
-Sat Oct 17 13:50:49 1992 Fred Fish (fnf@fishpond.cygnus.com)
+ * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
+ * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
- * fixinc.svr4 (string.h):
- Remove #defines for other compiler's builtin functions.
+Wed Dec 19 06:12:34 2001 Douglas B. Rupp <rupp@gnat.com>
-Sat Oct 17 00:39:30 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
+ descriptor output.
- * protoize.c: Add #undef getopt after getopt.h.
+2001-12-18 Stan Shebs <shebs@apple.com>
- * gstdarg.h, gvarargs.h (va_list) [__SVR4_2__]:
- Don't set or test _VA_LIST.
+ * rs6000.h (LOCAL_ALIGNMENT): Fix parens.
- * gstddef.h: Do nothing if _ANSI_STDDEF_H already defined.
+Tue Dec 18 17:02:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Fri Oct 16 11:39:06 1992 H.J. Lu (hlu@yardbird.eecs.wsu.edu)
+ * emit-rtl.c (widen_memory_access): Only call compare_tree_int
+ on an INTEGER_CST.
- * emit-rtl.c (gen_lowpart_common): Fix typo in last change.
+2001-12-18 David Edelsohn <edelsohn@gnu.org>
-Fri Oct 16 22:35:15 1992 Eric Youngdale (youngdale@v6550d.nrl.navy.mil)
+ * rs6000.c (rs6000_override_options): Only use DI ops when
+ TARGET_64BIT. Fix typo.
- * make-cc1.com: Correct previous patch.
+Tue Dec 18 16:39:46 CET 2001 Jan Hubicka <jh@suse.cz>
-Fri Oct 16 20:07:12 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * att.h (ASM_FILE_START): Use asm_dialect.
+ * linux.h (ASM_FILE_START): Likewise.
+ * gas.h (ASM_FILE_START): Likewise.
+ * i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
+ ix86_asm_string, ix86_asm_dialect): New.
+ (override_options): Set asm_dialect.
+ * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
+ MASK_DEBUG_ADDR): Kill.
+ (MASK_64BIT, MASK_NO_RED_ZONE): renumber.
+ (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
+ (ASSEMBLER_DIALECT): Use asm_dialect.
+ (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
+ remove debug-addr and debug-arg.
+ (TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
+ (asm_dialect): New enum.
+ (ix86_debug_arg_string, ix86_debug_addr_string,
+ ix86_asm_string, ix86_asm_dialect): Declare.
+ * invoke.texi (-mintel-syntax): Remove.
+ (-masm): Document.
- * objc-actions.c (start_class):
- For an INTERFACE_TYPE, push to permanent obstack.
- (build_message_expr): Use TYPE_MAIN_VARIANT when comparing types.
+Tue Dec 18 16:37:42 CET 2001 Jan Hubicka <jh@suse.cz>
- * Makefile.in (libobjc.a): Don't use $(MAKEFLAGS).
- Add braces around shell variable references.
- (collect2): Delete file before linking it.
- * objc/Makefile (all): Don't use $(MAKEFLAGS).
- (VPATH): Get rid of ../ since srcdir now absolute.
+ * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
-Fri Oct 16 14:23:25 1992 Michael Meissner (meissner@osf.org)
+2001-12-18 Jason Merrill <jason@redhat.com>
- * decstatn.h (all defines): Protect all defines with an #ifndef,
- to allow dec-osf1.h to selectively override macros.
+ C++ ABI change: destroy value arguments in caller.
+ * calls.c (initialize_argument_information): Pass the address of
+ the TARGET_EXPR temporary rather than storing it into another.
-Fri Oct 16 10:44:47 1992 Tom Wood (wood@dg-rtp.dg.com)
+Tue Dec 18 07:09:06 2001 Douglas B. Rupp <rupp@gnat.com>
- * Makefile.in (libobjc.a): Compute srcdir1 without changing
- directories. Use srcdir1 to locate objc/Makefile. Put quotes
- around all potential multi-word values. Recompute GCC_FOR_TARGET.
- (sublibobjc.a): Use same text as libobjc.a.
- (mostlyclean): Use $(MAKE) and srcdir1 for objc action.
- * objc/Makefile (SUBDIR_INCLUDES): Don't use ../$(srcdir).
- (all): Use $(MAKE).
+ * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
+ * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
-Fri Oct 16 04:16:36 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-18 Jakub Jelinek <jakub@redhat.com>
- * function.c (find_fixup_replacement): Renamed from find_replacement.
+ * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
+ * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
+ * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
+ (CC1_SPEC): Don't default to -gstabs+ if -m32.
- * varasm.c (output_addressed_constants): Handle NON_LVALUE_EXPR.
+2001-12-05 David O'Brien <obrien@FreeBSD.org>
-Fri Oct 16 02:25:17 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
+ * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
- * pa.md (call define_expands): If TARGET_LONG_CALLS, then force
- the address of the function into a register.
- * pa.h (TARGET_SWITCHES): New switch "-mlong-calls".
- * pa.c (call_operand_address): Only allow registers if
- TARGET_LONG_CALLS.
+2001-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
-Fri Oct 16 00:21:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * po/gcc.pot: Regenerate.
- * Makefile.in (libobjc.a): Get directories right, using shell vars
- thisdir1, srcdir1. Put quotes around $(GCC_CFLAGS). Use $(MAKE).
+2001-12-18 Kazu Hirata <kazu@hxi.com>
-Thu Oct 15 17:07:18 1992 Mike Stump (mrs@hal.gnu.ai.mit.edu)
+ * config/h8300/h8300.c: Fix comment typos.
+ * config/h8300/h8300.h: Fix comment formatting.
- * configure, config.sub, config/elxsi.{c,h,md}, config/xm-elxsi.h,
- config/x-elxsi: Add support for new 64 bit CPU, called Elxsi.
+2001-12-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Thu Oct 15 16:55:22 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
+ mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
+ declaration to NUM_MACHINE_MODES.
+ (mode_size, mode_unit_size): Set array type to unsigned char.
+ (mode_bitsize): Set array type to unsigned short.
- * alpha.c (alpha_builtin_saveregs): Fix bug in last change.
+ * rtl.c (rtx_length): Set array type to unsigned char.
+ (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
+ NUM_RTX_CODE.
+ (mode_bitsize): Set array type to unsigned short.
+ (mode_size, mode_unit_size): Set array type to unsigned char.
+ (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
+ mode_wider_mode, mode_mask_array): Set array size to
+ NUM_MACHINE_MODES.
- * fold-const.c (distribute_bit_expr): Test for BIT_{AND,IOR}_EXPR.
+ * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
+ size in declaration to NUM_RTX_CODE.
- * cse.c (cse_insn): Add missing call to apply_change_group.
+2001-12-17 Richard Henderson <rth@redhat.com>
-Thu Oct 15 15:09:45 1992 Michael Meissner (meissner@osf.org)
+ * config/alpha/alpha.md (unop): Encode RB as $sp.
- * t-mips (CCLIBFLAGS, LIBGCC2_CFLAGS): Delete, so that libgcc.a is
- built with the -G 8 option, instead of -G 0, so that the linker
- doesn't complain when linking in libg++.a.
- * t-decstatn (CCLIBFLAGS, LIBGCC2_CFLAGS): Ditto.
+2001-12-17 Neil Booth <neil@daikokuya.demon.co.uk>
-Thu Oct 15 14:30:25 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
+ * Makefile.in: Update dependencies.
+ * c-lang.c: Remove unnecessary includes.
+ (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
+ c-objc-common.c.
+ (finish_file): Move body to c_common_finish_file.
+ * c-objc-common.c: Include varray.h and ggc.h.
+ (deferred_fns, start_cdtor, finish_cdtor, defer_fn,
+ expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
+ (c_objc_common_init): Initialize deferred function array.
+ * c-tree.h (c_objc_common_finish_file,
+ static_ctors, static_dtors): New.
+objc:
+ * Make-lang.in: Update dependencies.
+ * objc/objc-act.c: Don't include varray.h.
+ (defer_fn, deferred_fns): Move to c-objc-common.c.
+ (objc_init): Similarly for initialization of it.
+ (finish_file): Move some to c-objc-common.c, use
+ c_objc_common_finish_file.
+
+2001-12-17 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
+
+2001-12-17 Neil Booth <neil@daikokuya.demon.co.uk>
- * mips-tfile.c (parse_def): Allow spaces in arguments for C++.
- Correct test for null when searching for end of name.
+ * doc/cppinternals.texi: Update.
-Thu Oct 15 11:55:51 1992 Tim Moore (moore@defmacro.cs.utah.edu)
+Mon Dec 17 14:21:21 2001 Jeffrey A Law (law@redhat.com)
- * pa.c (compute_frame_size): Take an fregs_live parameter instead
- of setting the static variable save_fregs.
- (output_function_prologue): Initialize save_fregs to 0 and pass to
- compute_frame_size.
- * pa.h (INITIAL_FRAME_POINTER_OFFSET): Pass extra null parameter
- to compute_frame_size.
+ * expmed.c (emit_store_flag): Extract updated comparison code
+ from the return value of compare_from_rtx.
+ * expr.c (do_store_flag): Similarly.
-Thu Oct 15 08:40:07 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-12-17 Nick Clifton <nickc@cambridge.redhat.com>
- * alpha.h (TARGET_FPREGS): New flag.
- (TARGET_SWITCHES): Remove temporary -mfp and add -msoft-float and
- -mfp-regs.
- (TARGET_DEFAULT): Set to -mfp-regs -mno-soft-float.
- (CONDITIONAL_REGISTER_USAGE): Use TARGET_FPREGS.
- (FUNCTION_VALUE, FUNCTION_ARG, LIBCALL_VALUE): Use integer registers
- for FP items if -mno-fp-regs.
- * alpha.c (alpha_builtin_saveregs): Store integer regs twice instead
- of storing the FP regs if -mno-fp-regs.
+ * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
+ preference to BASE_REG_CLASS.
+ * recog.c (preprocess_constraints): Ditto.
+ * regclass.c (record_operand_costs, scan_one_insn, regclass,
+ record_reg_classes, record_address_regs): Ditto.
+ * regrename.c (scan_rtx_address, scan_rtx,
+ replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
+ * reload.c (find_reloads, find_reloads_address,
+ find_reloads_address_1): Ditto.
+ * reload1.c (maybe_fix_stack_asms): Ditto.
+ * defaults.h (MODE_BASE_REG_CLASS): Provide default
+ definition.
+ * doc/tm.texi: Document MODE_BASE_REG_CLASS.
- * fold-const.c (fold): Add missing test in case when we
- distribute a NOP_EXPR into a COND_EXPR and try to pull it back
- out again.
+ * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
-Thu Oct 15 08:11:00 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-12-17 Joseph S. Myers <jsm28@cam.ac.uk>
- * fold-const.c (simple_operand_p): Don't regard global or static
- variables as simple.
- (fold_truthop): Only require the RHS to be simple.
+ * doc/install.texi2html: Use -I $SOURCEDIR.
- * m88k.h (CPP_SPEC): Add -D__m88110__ when -m88110 is in effect,
- similarly for -m88100.
- * m88kdgux.h (CPP_SPEC): Ditto.
- * m88kluna.h (CPP_PREDEFINES): Drop -Dmc88100.
- (CPP_SPEC): Reproduce the predefine -Dmc88100 when -m88100 is in
- effect. Otherwise, supply -D__mc881x0__ when -m881x0 is in effect.
+ Separate user and internals manuals.
+ * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
+ dependencies.
+ ($(docdir)/gccint.info, gccint.dvi): New targets.
+ (maintainer-clean, install-info, uninstall): Update.
+ * doc/.cvsignore: Add gccint.info*.
+ * doc/include/gcc-common.texi: New file.
+ * doc/gcc.texi: Use it. Adjust to be a user-only manual. Put
+ copyright notice in a macro. Don't include ISBN unless FSFPRINT
+ is defined.
+ * doc/gccint.texi: New file.
+ * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
+ doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
+ Update for separate user and internals manuals.
+
+2001-12-17 Dale Johannesen <dalej@apple.com>
+
+ * config/rs6000/rs6000.h: CPP_CPU_SPEC: add mcpu=7400.
+ ASM_CPU_SPEC: Ditto.
+ RTX_COSTS: Fix timing info for 7450 multiply.
+ * config/rs6000/rs6000.md: Fix timing info for 7450 imul.
+ Allow floats to be kept in int regs in movsf_low,
+ movsf_low_st (Darwin only)
+
+2001-12-17 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
+ parallel.
+ (is_gpr_return_reg): New.
+ (rs6000_emit_prologue): Call generate_set_vrsave with additional
+ argument. Save only registers in the mask. Attach
+ REG_FRAME_RELATED_EXPR note to altivec offsets. Do not call
+ rs6000_frame_related when saving VRSAVE.
+ (rs6000_emit_epilogue): Call generate_set_vrsave with additional
+ argument. Restore only registers in the mask. Restore altivec
+ registers after we restore CR.
+ (generate_set_vrsave): New parameter epiloguep. Generate unspec
+ sets instead of clobbers for call saved registers.
+ (altivec_frame_fixup): New.
+
+2001-12-17 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/sparc.md (movdi_zero): Remove.
+ (movdi_insn_sp32_v9): New.
+
+2001-12-17 Richard Henderson <rth@redhat.com>
+
+ * cfgcleanup.c (outgoing_edges_match): Check for insn match with
+ a single outgoing edge too.
+
+Mon Dec 17 18:27:52 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * cfgrtl.c (redirect_edge_and_branch): Do simplify abnormal
+ edges resulting from computed jump
+
+Mon Dec 17 17:57:05 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (cfgcleanup.o): Add cselib.h dependency.
+ * basic-block.h (CLEANUP_THREADING): New constant.
+ * cfgcleanup.c: Include cselib.h
+ (thread_jump, mark_effect): New functions.
+ (try_forward_edges): Do jump threading when asked for.
+ * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
+ modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
+ * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
+ * toplev.c (rest_of_compilation): Do now call thread_jumps; use
+ CLEANUP_THREAD instead.
+
+2001-12-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
+
+2001-12-17 Tom Rix <trix@redhat.com>
+
+ * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
+ of bytes.
+
+2001-12-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
+ asm_out.integer): New fields.
+ * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
+ TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initializers.
+ (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
+ the individual initializers together.
+ (TARGET_ASM_OUT): Add the new initializers.
+ * output.h (assemble_integer): Return bool.
+ (integer_asm_op): Declare.
+ (default_assemble_integer): Declare.
+ (assemble_aligned_integer): New interface to assemble_integer.
+ * varasm.c (integer_asm_op): New function to select pseudo-op.
+ (default_assemble_integer): Default implementation of asm_out.integer.
+ (assemble_integer): Use the new target hook. Split objects into
+ words or bytes if the target hook fails. Return bool.
+ * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
+ ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
+ UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
+ Document new target hooks.
+
+ * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
+ * dwarf2asm.c (unaligned_integer_asm_op): Remove.
+ (dw2_assemble_integer): New.
+ (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
+ dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
+ dw2_asm_output_encoded_addr_rtx): Use it.
+ (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
+ (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
+ integer_asm_op to get the byte pseudo-op. Use assemble_integer
+ if it returns NULL.
+ * dwarf2asm.h (dw2_assemble_integer): Declare.
+ * dwarfout.c: Include dwarf2asm.h. Use dwarf2 functions for the
+ default implementation of most macros.
+ (output_unsigned_leb128): Use dw2_asm_output_data.
+ (output_signed_leb128, dwarfout_source_line): Likewise.
+ (output_reg_number): Use dw2_assemble_integer.
+ (generate_macinfo_entry): Separate the type and offset arguments.
+ Use assemble_integer to write the value.
+ (dwarfout_start_source_file): Update generate_macinfo_entry usage.
+ (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
+ * final.c (output_addr_const): Don't put brackets round a subtracted
+ symbol value or ".".
+ * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
+
+ * config/1750a/1750a.c (assemble_integer_1750a): New,
+ * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
+ * config/arc/arc.c (arc_assemble_integer): New.
+ * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
+ * config/arm/arm.c (arm_poke_function_name): Likewise.
+ (arm_assemble_integer): New, extracted from...
+ * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
+ (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
+ (ARM_FUNCTION_PROFILER): Likewise.
+ * config/avr/avr-protos.h (asm_output_byte): Remove.
+ (asm_output_char, asm_output_short): Remove.
+ * config/avr/avr.c (avr_assemble_integer): New.
+ (asm_output_byte, asm_output_char, asm_output_short): Remove.
+ * config/clipper/clipper.h (ASM_LONG): Remove.
+ * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
+ * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
+ * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
+ * config/i370/i370.c (i370_hlasm_assemble_integer): New.
+ * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
+ (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
+ * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
+ * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
+ ASM_LONG instead of UNALIGNED_INT_ASM_OP.
+ * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
+ (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
+ * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
+ ASM_LONG instead of UNALIGNED_INT_ASM_OP.
+ * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
+ * config/i860/i860.c (i860_output_function_epilogue): Likewise.
+ * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
+ (ASM_SHORT, ASM_LONG): Undefine.
+ * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
+ * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
+ * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
+ * config/ia64/ia64.c (ia64_assemble_integer): New.
+ * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
+ (ASM_OUTPUT_DWARF_PCREL): Likewise.
+ * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
+ ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
+ (ASM_SHORT, ASM_LONG): Remove.
+ * config/m68k/m68k.h (INT_OP_GROUP): New macro.
+ (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
+ macros, the allowed values for INT_OP_GROUP.
+ * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
+ * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
+ * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
+ * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
+ (INT_OP_GROUP): Define to INT_OP_NO_DOT.
+ * config/m68k/dpx2.h (ASM_LONG): Undefine.
+ (INT_OP_GROUP): Define to INT_OP_DC.
+ * config/m68k/dpx2g.h (ASM_LONG): Undefine.
+ * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
+ * config/m68k/lynx.h (ASM_LONG): Undefine.
+ * config/m68k/dpx2g.h (ASM_LONG): Undefine.
+ * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
+ * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
+ (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
+ * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
+ for GAS and INT_OP_NO_DOT otherwise.
+ (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
+ (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
+ ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
+ (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
+ * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
+ (INT_OP_GROUP): Define to INT_OP_STANDARD.
+ (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
+ ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
+ (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
+ * config/m68k/tower-as.h (ASM_LONG): Remove.
+ (INT_OP_GROUP): Define to INT_OP_NO_DOT.
+ * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
+ * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
+ (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
+ * config/mips/iris5.h (TARGET_IRIX5): Define.
+ * config/mips/mips.c (mips_assemble_integer): New.
+ * config/mips/sni-svr4.h (ASM_LONG): Undefine.
+ * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
+ * config/mmix/mmix.c (mmix_assemble_integer): New.
+ (mmix_asm_output_double_int): Remove.
+ (mmix_print_operand): Call mmix_output_octa directly.
+ * config/mmix/mmix.h (ASM_LONG): Remove.
+ * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
+ * config/pa/pa.c (pa_assemble_integer): New.
+ (pa_override_options): Only use aligned DI ops on 64-bit targets.
+ Only use the unaligned ops if TARGET_GAS.
+ * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
+ * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
+ * config/pj/pj.h (ASM_LONG): Undefine.
+ * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
+ * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
+ extracted from ASM_OUTPUT_INT in sysv4.h. Use in_text_section()
+ and in_toc_section() rather than the in_section variable.
+ (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
+ * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
+ (RELOCATABLE_NEEDS_FIXUP): Define.
+ * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
+ * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
+ (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
+ to get the word directive.
+ (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
+ * config/s390/s390.c (s390_assemble_integer): New.
+ * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
+ integer_asm_op to get the word directive.
+ * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
+ * config/sparc/sparc-protos.h (output_double_int): Remove.
+ * config/sparc/sparc.c (output_double_int): Move to...
+ (sparc_assemble_integer): ...this new function.
+ (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
+ * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
+ * config/sparc/sysv4.h (ASM_LONG): Remove.
+ (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
+ ASM_LONG.
+ * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
+ * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
+
+ * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
+ config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
+ config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
+ config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
+ config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
+ config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
+ config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
+ config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
+ config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
+ config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
+ config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
+ config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
+ (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
+ TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
+ TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
+ TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
+ appropriate.
+
+ * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
+ config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
+ config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
+ config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
+ config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
+ config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
+ config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
+ config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
+ config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
+ config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
+ config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
+ config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
+ config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
+ config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
+ config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
+ config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
+ config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
+ config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
+ config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
+ config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
+ config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
+ config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
+ config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
+ ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
+ UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
+
+2001-12-17 Stan Shebs <shebs@apple.com>
+
+ * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
+ (STACK_BOUNDARY): Remove definition.
+ (CPP_PREDEFINES): Define __POWERPC__.
+
+2001-12-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/c-tree.texi (Trees): Only refer to GCC.
+
+2001-12-17 Andreas Jaeger <aj@suse.de>
+
+ * c-common.def: Fix typo in comment.
+
+2001-12-16 David O'Brien <obrien@FreeBSD.org>
+
+ * config.gcc (sparc64-*-freebsd*): Add target.
+ * config/sparc/freebsd.h: New file.
+ * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
+ * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
+ * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
+
+2001-12-16 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
+ PLUS operands into registers for altivec mode.
+
+2001-12-16 Aldy Hernandez <aldyh@redhat.com>
+
+ * builtins.c (apply_args_size): Change regno to unsigned.
+
+2001-12-16 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
+ ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
+
+2001-12-16 Zack Weinberg <zack@codesourcery.com>
+
+ * c-typeck.c (error_init, pedwarn_init, warning_init): Call
+ gettext on argument before printing.
+
+ * fold-const.c (negate_expr): Always call fold on new
+ NEGATE_EXPR.
+
+2001-12-17 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
+ a DECL directly.
+ * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
+ (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
+ * c-decl.c (build_compound_literal): Put the decl inside a
+ DECL_STMT.
+ * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
+ Fixes PR c/5105.
+
+2001-12-16 Aldy Hernandez <aldyh@redhat.com>
+
+ * config.gcc: Add powerpc-*-eabisimaltivec*.
+
+2001-12-16 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-common.c, c-common.h (back_end_hook): Remove.
+ * c-lang.c (finish_file): Remove back_end_hook.
+
+Sun Dec 16 13:13:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
+ last change.
+
+2001-12-16 Richard Henderson <rth@redhat.com>
+
+ * toplev.c (parse_options_and_default_flags): Don't enable
+ flag_cprop_registers at -O1.
+
+2001-12-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * avr.c (avr_simplify_comparision_p, adjust_insn_length,
+ mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
+ * avr.h (reg_class): Likewise.
+ * avr.md: Likewise.
+ * mcore.c (try_constant_tricks, mcore_byte_offset,
+ mcore_halfword_offset): Likewise.
+ * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
+ * v850.c (not_power_of_two_operand): Likewise.
+
+ * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
+ warnings.
+ * convex.h (ASM_OUTPUT_ASCII): Likewise.
+ * i370.h (ASM_OUTPUT_ASCII): Likewise.
+ * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
+ * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
+ * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
+ * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
+ * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
+ * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
+ * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
+ * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
+ * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
+ * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
+ * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
+ * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
+ * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
+ * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
+ * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
+ * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
+ * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
+ * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
+ * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
+ * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
+ * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
+ * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
+ * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
+ * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
+
+ * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
+ * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
+ * psos.h (CPP_PREDEFINES): Likewise.
+ * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
+ * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
+ ASM_OUTPUT_EXTERNAL): Likewise.
+ * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
+ Likewise.
+ * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
+ * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
+ Likewise.
+ * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
+
+ * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
+ * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
+ * fold-const.c (real_hex_to_f): Use hex_value.
+ * real.c (asctoeg): Use hex_value & ISXDIGIT.
+ * toplev.c (toplev_main): Call hex_init.
+ * tradcpp.c (main): Call hex_init.
+
+ * nextstep-protos.h: New file.
+ * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
+ * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
+ STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
+ (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
+ handle_pragma): Move prototypes to nextstep-protos.h.
+ * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
+ m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
+
+2001-12-16 Craig Rodrigues <rodrigc@gcc.gnu.org>
+
+ PR other/3725
+ * configure.in: Add AC_SUBST(target_alias).
+ * configure: Regenerated.
+
+2001-12-15 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (sibcall_osf_1_er): New.
+ (sibcall_value_osf_1_er): New.
+
+2001-12-15 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
+ addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
+ addrs; eliminate restriction of only using fp and sp as base
+ registers.
+ * config/sparc/sparc-protos.h: Update.
+ * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
+ (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
+ from old define_peepholes.
+ Convert all the ldd/std peepholes to peephole2.
+
+2001-12-15 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * s390.md (prologue, epilogue, *return_si, *return_di): New.
+ s390.c (find_unused_clobbered_reg, s390_frame_info,
+ save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
+ s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
+ s390.c (s390_arg_frame_offset): Use s390_frame_info.
+ (leaf_function_flag, cur_is_leaf_function,
+ save_fprs, restore_fprs, force_const_mem_late): Remove.
+ (s390_function_prologue, s390_function_epilogue): Mostly remove.
+ s390.md (lit): New. Uses ...
+ s390.c (s390_output_constant_pool): ... this, so adapt and make global.
+ s390-protos.h (s390_output_constant_pool): Declare.
+ s390.md (load_multiple, store_multiple): Allow use after reload.
+ s390.c (load_multiple_operation, store_multiple_operation): Likewise.
+ s390.h (INCOMING_FRAME_SP_OFFSET): Define.
+ s390.h (CALL_REALLY_USED_REGISTERS): Define.
+ config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
+ s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
+ s390.c (s390_sr_alias_set): New global variable, initialized ...
+ (override_options): ... here. New.
+ s390-protos.h (override_options): Declare.
+ s390.h (OVERRIDE_OPTIONS): Call it.
+ s390.c (s390_function_profiler): New.
+ s390-protos.h (s390_function_profiler): Declare.
+ s390.h (FUNCTION_PROFILER): Call it.
+ s390.c (s390_profile): Remove.
+
+ * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
+ (addr_generation_dependency_p): Consider literal pool register loads.
+ (s390_adjust_priority): Do not schedule load_multiple.
+ s390.md (attribute "type"): Define some additional types.
+ (function_unit "integer"): Adapt.
+ (many insns): Adapt "type" attribute setting.
+
+ * s390.c (general_s_operand, s_imm_operand): New.
+ (s_operand): Remove old definition, call general_s_operand instead.
+ s390-protos.h (s_imm_operand): Declare.
+ s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
+ r_or_x_or_im16_operand, r_or_im8_operand): Remove.
+ s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
+ r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
+ s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
+ s390.md (many insns): Rework insn predicates.
+
+ * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
+ non-symbolic constants. Reload will force them because of ...
+ (s390_preferred_reload_class): ... this. New.
+ s390-protos.h (s390_preferred_reload_class): Declare.
+ s390.h (PREFERRED_RELOAD_CLASS): Call it.
+ s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
+ *reload_la_31 splitters): Handle constants after reload.
+ (many insns): no longer force all constants immediately.
+ s390.c (legitimate_reload_constant_p): New helper routine.
+ s390-protos.h (legitimate_reload_constant_p): Declare.
+ s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
+
+ * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
+ HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
+ (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
+ (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
+ (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
+ (DWARF_FRAME_REGISTERS): Define.
+ s390.c (regclass_map): Add virtual frame pointer.
+ (legitimate_la_operand_p): Allow use of virtual frame pointer.
+ s390.md (*la_ccclobber, *addaddr_ccclobber): New.
+ (addaddr, addsi_64): Delete.
+
+ * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
+ floating point registers.
+ (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
+ (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
+ (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
+
+ * s390.md (movti): Replace multi-insn output with splitters.
+ (movdi_31, movdf_31): Likewise.
+ (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
+ (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
+ (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
+ (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
+ (movsf_64, movsf_31): Remove, replace by ...
+ (movsf): ... this.
+ (movqi_64): Use lhi instead of llill.
+ (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
+
+ * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
+ extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
+ extendqihi2 and associated splitters): Reworked.
+ (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
+ zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
+ zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
+ *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
+ *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
+ zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
+ zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
+ and associated splitters): Likewise.
+ (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
+ and associated splitters): New.
+ (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
+ *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
+ (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
+ s390.h (PROMOTE_PROTOTYPES): Remove.
+ config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
+
+ * s390.md (muldi3): Delete, use instead ...
+ (mulsidi3): ... this.
+ (*muldi3_64): Rename to muldi3.
+ (mulsi_6432): Fix template.
+ (divdi3, moddi3): Delete, replace by ...
+ (divmoddi4): ... this.
+ (divmodtidi3): Fix template.
+ (divmodtisi3): New.
+ (udivdi3, umoddi3): Delete, replace by ...
+ (udivmoddi4): ... this.
+ (udivmodtidi3): Fix template.
+ (divsi3, modsi3): Delete, replace by ...
+ (divmodsi4): ... this.
+ (divmoddisi3): Fix template.
+ (udivsi3, umodsi3): Adapt.
+
+ * s390.md (anddi3): Remove SS alternative, use instead ...
+ (anddi3_ss, anddi3_ss_inv): ... these.
+ (anddi3_ni): New.
+ (andsi3*, andhi3*, andqi3*): Likewise.
+ (iordi3): Remove SS alternative, use instead ...
+ (iordi3_ss, iordi3_ss_inv): ... these.
+ (iordi3_oi): New.
+ (iorsi3*, iorhi3*, iorqi3*): Likewise.
+ (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
+ (xordi3): Remove SS alternative, use instead ...
+ (xordi3_ss, xordi3_ss_inv): ... these.
+ (xordi3_oi): New.
+ (xorsi3*, xorhi3*, xorqi3*): Likewise.
+ (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
+ (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
+ Expand to XOR with -1.
+ (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
+ (cmpdi_tm): Delete, replace by ...
+ (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
+ (cmpsi_cct): Delete, replace by ...
+ (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
+ (cmpdi_tm2, cmpsi_tm2): Improve.
+ (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
+ s390.c (s390_single_hi, s390_extract_hi,
+ s390_single_qi, s390_extract_qi): New helper routines.
+ s390-protos.h (s390_single_hi, s390_extract_hi,
+ s390_single_qi, s390_extract_qi): Declare.
+ s390.c (tmxx_operand, const1_operand): Remove.
+ s390-protos.h (tmxx_operand, const1_operand): Likewise.
+ s390.h (PREDICATE_CODES): Likewise.
+
+ * s390.md (sqrtdf2, sqrtsf2): New.
+
+ * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
+ (check_and_change_labels): Remove section-change special case.
+
+ * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
+ in leaf functions. Needs ...
+ (DYNAMIC_CHAIN_RTX): ... this. New.
+
+ * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
+
+ * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
+ clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
+ input operands using a match_dup clause.
+ (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
+
+ * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
+ floatsisf2, floatsisf2_ieee): Add missing CC clobber.
+
+ * s390.md (floatsidf2_ibm): Use correct operand.
+
+ * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
+ fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
+ non-portable constants.
+ s390.c (s390_gen_rtx_const_DI): New helper routine.
+ s390-protos.h (s390_gen_rtx_const_DI): Declare.
+
+ * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
+
+ * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
+ ASM_OUTPUT_BYTE): Clean up assembly output.
+ (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
+ (ASM_OUTPUT_ASCII): Remove.
+
+ * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
+
+2001-12-15 Zack Weinberg <zack@codesourcery.com>
+
+ * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
+ before including unwind-dw2-fde.c, if we are not using the
+ special code in this file.
+
+2001-12-15 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
+ MASK_EXPLICIT_RELOCS if the assembler supports it.
+ * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
+ * configure, config.in: Rebuild.
+
+Sat Dec 15 17:53:03 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
+ for rounded_stack_size.
+
+2001-12-15 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
+ config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
+ toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
+ "bit-field" spellings in messages.
+ * po/gcc.pot: Regenerate.
-Thu Oct 15 02:09:49 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-15 Joseph S. Myers <jsm28@cam.ac.uk>
- * expr.c (get_inner_reference):
- If flag_volatile, treat every INDIRECT_REF as volatile.
-
- * collect2.c (main): If COLLECT_GCC is a relative name, use it anyway.
-
- * x-next: New file.
- * configure (m68k-next-*): Use that.
-
- * Changes from NeXT:
-
- * libgcc2.c [L_ctors] (__CTOR_LIST__, __DTOR_LIST__):
- Initialize these default definitions if __NeXT__.
-
- * gvarargs.h [__NeXT__]: Define _VA_LIST_ if _ANSI_STDARG_H_ was
- defined; then define _ANSI_STDARG_H_.
-
- * gstddef.h (_ANSI_STDDEF_H): Define, along with _STDDEF_H.
-
- * next.h (INCLUDE_DEFAULTS): New macro.
-
- * cp-method.c (index, rindex): Delete declarations.
- (build_overload_value): Cast result of index.
-
- * cccp.c (cplusplus_comments): New var.
- (main): Set it according to options.
- (rescan, handle_directive, skip_if_group, validate_else):
- (skip_to_end_of_comment, macarg1, discard_comments):
- Use cplusplus_comments to enable C++ comment syntax.
-
-Wed Oct 14 11:34:58 1992 Chip Salzenberg (chip@tct.com)
-
- * libgcc2.c (__gcc_bcmp): Don't depend on signedness of `char'.
-
-Wed Oct 14 18:52:28 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
-
- * sched.c (sched_note_set): Set subreg_p for anything except a
- paradoxical subreg.
-
- * configure (sparc-*-solaris2): Use xm-spc-sol2.h not xm-spcv4.h.
-
- * reload.c (find_reloads): Don't let an operand have a numbered
- constraint that makes it match itself.
-
-Wed Oct 14 10:38:31 1992 Tim Moore (moore@defmacro.cs.utah.edu)
-
- * pa.md (sCC patterns): Comparison operator should have SImode,
- not CCmode.
- (indexed addressing mode patterns): New patterns to use indexed
- addressing if possible.
- * pa.c (output_and): Do handle (const_int 0) as an operand; it
- seems to occur in unoptimized compilation.
- * pa.h (REGNO_OK_FOR_FP_P): Logic bug.
- * va-pa.h : When __GNUC__ == 1, don't include the gcc 1 varargs
- file (va-hp9k8.h). Instead, the definitions are explicitly defined
- here. This avoids multiple typedefs of va_list.
- * xm-pa.h (HAVE_VPRINTF) Define in HPUX 8.0.
-
- * pa.md (mulsi): Use the hardware multiply instruction, xmpyu, if
- TARGET_SNAKE.
- (umulsidi3): New pattern.
- (reload_insi, reload_outsi, reload_indi, reload_outdi): New
- patterns. These are needed because SImode and DImode pseudoregs
- may be allocated (or reloaded) in floating point registers for
- multiplication. That means that their addresses, which were
- legitimate for SImode and DImode, aren't valid any more.
- (movsi, movhi, movqi, movdf, movdi, movsf): Pass null scratch
- operand to emit_move_sequence.
- (fp SImode load and store patterns): Move before main movsi
- pattern.
- (fp DImode load and store patterns) New patterns.
- (movhi, movqi patterns): Support moves to/from fp registers.
- (movdf pattern): Ensure at least one operand is a register.
- * pa.c (emit_move_sequence): Take reload scratch register
- argument, deal with reloads of SImode and DImode mems into
- floating point registers, handle function_label_operand moves.
- (secondary_reload_class): A scratch register is needed if
- reloading a function_label_operand address (probably doesn't
- happen) or an SImode or DImode value into/out of a floating
- point register.
- * pa.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
- REG_CLASS_FROM_LETTER): Define a new register class
- FP_OR_SNAKE_FP_REGS, used only be reload_{in,out}{si,di}.
- (HARD_REGNO_MODE_OK): Allow all integer modes in Snake floating
- point registers. QImode and HImode pseudoregs may end up there
- when using xmpyu.
-
- * pa.md (pic symbolic address pattern): New pattern.
- (movsi, movdi patterns): Remove some * constraints from fp registers.
- (pic label address pattern): Fix typo.
- (function_label_operand patterns): New patterns for loading a
- label address in HPUX 8.0.
- * pa.c (finalize_pic): No real initialization is necessary for pic.
- (output_function_prologue): Save r19, the pic offset table
- register. If profiling, save and restore the structure value
- return register (r28) around the call to mcount.
- (hppa_encode_label, function_label_operand): New functions.
- Record if a label is a code label so it can be treated specially
- in HPUX 8.0.
- * pa.h (TARGET_SHARED_LIBS): New flag. Generate code that can be
- linked with HPUX 8.0 shared libraries.
- (TARGET_SWITCHES): New flags: -mshared-libs and -mno-shared-libs.
- (PIC_OFFSET_TABLE_REGNUM): This is really r19. The preliminary
- docs from HP were wrong.
- (ASM_DECLARE_FUNCTION_NAME): Specify "ENTRY" param in .EXPORT
- directive.
- (ENCODE_SECTION_INFO): Encode function labels.
- (ASM_OUTPUT_LABELREF): Deal with function labels.
- (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Don't do anything for
- now; their only use (saving stuff during profiling) interacts in a
- wierd way with required assembler directives at the start of a
- function. Instead, do the save and restore in the function
- prologue.
- (hppa_encode_label): Declare.
- * pa-hpux.h, pa-ghpux.h (TARGET_DEFAULT): Link against shared
- libraries.
- (LINK_SPEC): Don't link against shared libraries if debugging or
- profiling.
- * pa1-hpux.h, pa1-ghpux,h (TARGET_DEFAULT): Link against shared
- libraries.
-
-Wed Oct 14 10:17:49 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * Makefile.in (gcc.xtar): Copy the objc subdir.
- (mostlyclean): Run the mostlyclean target in the objc subdir.
- (objc-runtime, libobjc.a, sublibobjc.a): New targets.
- (objc, objective-c): Dep on objc-runtime.
-
- * objc/*: New files.
-
-Wed Oct 14 07:17:19 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * alpha.md (smax, smin): Fix typo in output strings.
-
- * a29k.c (const_16_operand, const_24_operand): Fix typo in declaration
- of MODE.
- (gpc_reg_or_immediate_operand, and_operand, add_operand): Likwise.
-
-Wed Oct 14 00:12:16 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
-
- * pa.h (RTX_COST): Fix spacing typo.
-
-Tue Oct 13 21:51:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * a29k.md (call, call_value): Don't use call_operand, since
- checking for recursive calls at this point is not safe.
-
-Tue Oct 13 18:52:17 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
-
- * cp-type2.c (my_friendly_abort): Tell them to write to bug-g++.
-
-Tue Oct 13 18:16:12 1992 Chris Smith (csmith@convex.com)
-
- * convex.h (P_tmpdir): define to use /tmp.
- (RETURN_POPS_ARGS): correct definition to return size.
- (ASM_IDENTIFY_GCC): output something between gcc2_compiled and
- first function to keep gcc2_compiled out of assembler stabs.
-
- * convex.md (adddi3, ordi3, xordi3): check sign of CONST_INT
- operands before using as immediates; these insns are word only.
- (ashrdi3): don't use negative shift counts.
-
- * convex*.h (CPP_SPEC): define __NO_INLINE_STDLIB
-
- * xm-convex.h: remove temporary workaround from OS 8.0.
-
-Tue Oct 13 14:10:15 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * cp-lex.c (check_newline): Verify that main_input_filename is
- valid before using it.
-
-Tue Oct 13 19:08:54 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * a29k.c: Now includes reload.h.
- (spec_reg_operand): Validate mode and know that some regs support
- MODE_PARTIAL_INT and some MODE_INT.
- (call_operand, reload_memory_operand, a29k_get_reloaded_address)
- New functions.
- (in_operand): Allow constants with MODE_PARTIAL_INT.
- (out_operand): Allow special registers with any mode.
- Any MEM a word or wider is valid.
- (extend_operator): Deleted.
- (secondary_reload_class): A pseudo is the same as memory; we need
- BP_REGS for multi-word memory or for bytes and halfword if -mndw.
- (print_operand): Delete %X; add %m.
- (print_operand, case 'F'): Check for SYMBOL_REF.
- * a29k.h (PROMOTE_MODE, ADJUST_COST): New macros.
- (CALL_USED_REGISTERS): LR0 is call-used.
- (HARD_REGNO_MODE_OK): Handle MODE_PARTIAL_INT and the special
- registers that can only hold those modes.
- (MODES_TIEABLE_P): Clean up and handle MODE_PARTIAL_INT modes.
- (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add new
- classes LR0_REGS, FC_REGS, and CR_REGS.
- (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
- (PREDICATE_CODES): Update for new and deleted predicates.
- * a29k.md: Use GEN_INT when appropriate.
- (define_attr type): New types for SQRT.
- (call patterns): Use SCRATCH for LR0.
- Use new predicate call_operand so that some integers can be
- used as addresses; fix CALLI so it doesn't accept constant.
- (EXBYTE, EXTHW, INBYTE, INHW): Use ZERO_EXTEND instead of AND
- when combine will make it.
- Use PSImode for BP value and don't reference BP explicitly.
- Clean up define_expands for these operations.
- (rotlsi3): Use PSImode pseudo for FC.
- (sign_extend): Sign extension insns clobber BP.
- ({load,store}_multiple): Use PSImode pseudo for CR.
- (MTSR): Add pattern for TRUNCATE from SImode to PSImode.
- (sqrtsf2, sqrtdf2, movpsi): New patterns.
- (load/store bytes/halfword): Clean up to accept temporaries as
- input and use PSImode when required.
- (movhi, movqi): Allocate temporaries here.
- (reload_inqi, reload_outqi, reload_inhi, reload_outhi): New
- patterns.
- (movdf, movdi, movti): Use SCRATCH for BP register.
- (reload_{in,out}{df,di,ti}): New patterns.
+ * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
+ American spelling in messages.
+ * po/gcc.pot: Regenerate.
-Tue Oct 13 16:52:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-15 Kazu Hirata <kazu@hxi.com>
- * fixinc.svr4 (sys/stream.h, sys/strsubr.h): Delete spurious `extern'
- in various structure definitions.
+ * config/h8300/h8300.md: Adjust whitespacing. Remove
+ constraints from expanders. Replace \@ with @.
- * rtlanal.c (single_set): Fix typo in REG_UNUSED check.
+2001-12-15 Richard Earnshaw <rearnsha@arm.com>
- * cse.c (simplify_binary_operation): Insure that folded >> extends
- the sign even if the host bootstrap compiler doesn't.
+ * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
- * final.c (output_asm_insn): Advance over the = when processing %=.
+2001-12-15 Ulrich Weigand <uweigand@de.ibm.com>
- * fixincludes (stdio.h): Fix va_list when preceeded by a *.
+ * regrename.c (copyprop_hardreg_forward): Do not keep register
+ value data live across abnormal call or eh egdes.
-Tue Oct 13 14:52:57 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
+Sat Dec 15 08:29:45 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * spc-sol2.h (STARTFILE_SPEC): Add crtbegin.o.
- (LIB_SPEC): Add crtend.o for running ctors/dtors.
- * t-sol2 (EXTRA_PARTS): Add crtbegin.o and crtend.o for C++.
- (FIXINCLUDES): Deleted.
- * configure (sparc-*-solaris2*): Set fixincludes here.
+ * expr.c (highest_pow2_factor, case INTEGER_CST): Return
+ BIGGEST_ALIGNMENT for 0.
-Tue Oct 13 20:15:45 1992 Eric Youngdale (youngdale@v6550d.nrl.navy.mil)
+Sat Dec 15 14:13:03 CET 2001 Jan Hubicka <jh@suse.cz>
- * make-cc1.com: Simplify extraction of YYEMPTY from cp-parse.c.
- Generate c-parse.y, objc-parse.y from c-parse.in if required.
- Pat Rankin did some of this.
+ * predict.def (PRED_NORETURN): Make probabilities match reality.
+ (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
+ Likewise.
+
+2001-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.in: Check for ld.
+ (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
+ * configure, config.in: Rebuilt.
+ * config.gcc: Add crtbeginT.o to extra_parts where needed.
+ * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
+ frame unwinding on Linux.
+ * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
+ frame unwinding.
+ * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
+ (LINK_EH_SPEC): Define.
+ * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
+ * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
+ * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
+ iterate further if pc falls into current library, but fde was not
+ found.
+ * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
+ if using glibc.
+ (LINK_EH_SPEC): Define.
+ * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
+ Use crtbeginT.o for -static.
+ (LINK_EH_SPEC): Define.
+ * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
+ * Makefile.in (crtbeginT.o): Add rule.
+ * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
+ If neither -static-libgcc nor -shared-libgcc is passed and -shared,
+ use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
+ If none of the above switches are passed, use -lgcc -lgcc_eh.
+ (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
+ * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
+ creating libgcc_s.so, put them into separate libgcc_eh.a instead.
+ * unwind-dw2-fde.c: Don't include any headers if this file
+ is included from other .c file.
+ * unwind-dw2-fde-glibc.c: New file.
+ * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
+ Use it instead of EH_FRAME_SECTION_NAME where appropriate.
+
+2001-12-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (expand_builtin_memcmp): Mark parameter with
+ ATTRIBUTE_UNUSED.
+ * cfgcleanup.c (insns_match_p): Likewise.
+ * regrename.c (mode_change_ok): Likewise.
+ * gcc.c (execute): Const-ify.
+
+2001-12-14 Aldy Hernandez <aldyh@redhat.com>
+
+ * c-parse.in (typename): Do not split attributes.
+ Remove unsupported attributes warning.
+
+ * c-decl.c (groktypename): Apply attributes.
+
+2001-12-14 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (spill_restore_mem): Mark iterator
+ initialization as possibly dead.
+
+2001-12-14 Richard Henderson <rth@redhat.com>
+
+ * regrename.c (mode_change_ok): New.
+ (find_oldest_value_reg): Use it.
+
+2001-12-14 Richard Henderson <rth@redhat.com>
+
+ * regrename.c (struct value_data): Add max_value_regs.
+ (init_value_data): Initialize it.
+ (kill_value): Kill values that overlap the dying register.
+ (set_value_regno): New.
+ (kill_set_value, kill_autoinc_value, copy_value): Use it.
+ (copyprop_hardreg_forward_1): Kill earlyclobber operands
+ before looking at inputs.
+
+2001-12-14 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
+ DECL_WEAK for function descriptors.
+ * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
+ weak support present.
+ (ASM_WEAKEN_LABEL): Same.
+
+2001-12-14 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.md (anonymous pattern): Add a missing
+ mode.
+
+2001-12-14 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
+ comment typo.
+
+2001-12-14 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
+ Remove the initialization requierment.
+ (h8300_handle_tiny_data_attribute): Likewise.
+
+2001-12-14 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.md (udivqi3): Remove.
+ (divqi3): Likewise.
+ (udivhi3): Likewise.
+ (divhi3): Likewise.
+ (umodqi3): Likewise.
+ (modqi3): Likewise.
+ (umodhi3): Likewise.
+ (modhi3): Likewise.
+ (udivmodqi3): New.
+ (divmodqi3): Likewise.
+ (udivmodhi3): Likewise.
+ (divmodhi3): Likewise.
+
+Sat Dec 15 01:39:12 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
+ by active_insn_p; count conditional jump as instruction.
+
+2001-12-14 DJ Delorie <dj@redhat.com>
+ Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
+ at SYM_NAME[0] or SYM_NAME[3].
+ (STRIP_NAME_ENCODING): Don't check for leading '*'.
-Tue Oct 13 14:06:45 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+2001-12-14 Ira Ruben <ira@apple.com>
- * sparc.md (in_branch_delay): Allow fpload and fpstore.
+ Add -### option (displays driver-generated commands without
+ executing and quotes all arguments).
+ * doc/invoke.texi: Add -###.
+ * gcc.c (verbose_only_flag) - New flag.
+ * (execute): If -### write quoted arguments and return.
+ * (display_help): Print meaning of -###.
+ * (process_command): Handle -###.
- * collect2.c (main): Only install a signal handler for signals
- that already have handlers.
- (fork_execute): Don't ignore signals before calling do_wait.
+2001-12-14 Ira Ruben <ira@apple.com>
- * i960.md: Change 'f' constraint for dest to '*f' if it is not the
- only alternative. Add '*f' dest constraints to all patterns where
- it is valid but was previously missing.
+ Fix to no allow -save-temps to clobber user's source file.
+ * gcc.c: Add static globals input_stat and input_stat_set.
+ (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
+ set, check that user's input file is not overwritten.
+ (set_input): Reset input_stat_set for each new file.
- * i960.h (OVERRIDE_OPTIONS): Enable function inlining.
- * i960.c (g14_save_reg): Delete variable.
- (i960_output_call_insn): Add two new parameters arg_pointer and
- scratch_reg. Save/set/restore g14 if necessary.
- (i960_expand_call): Delete function.
- * i960.md (call, call_value): No longer call i960_expand_call,
- instead call call_internal/call_value_internal pattern.
- (call_internal, call_value_internal): Rewrite patterns to pass new
- args to i960_output_call_insn.
+Fri Dec 14 22:14:44 CET 2001 Jan Hubicka <jh@suse.cz>
- * sparc.md (movstrsi+1): Add `+' to constraints for clobbered inputs.
+ * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
- * i960.c (i960_output_call_insn): Emit bx instead of b, callx
- instead of callj.
+2001-12-14 Zack Weinberg <zack@codesourcery.com>
- * sparc.c (sparc_frw_output_function_prologue): Frame pointer base
- must be same as for regular sparc code.
+ * combine.c (record_dead_and_set_regs): Use
+ regs_invalidated_by_call. Don't note stores for CALL_INSNs.
-Tue Oct 13 06:02:03 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-12-14 Roger Sayle <roger@eyesopen.com>
- * loop.c (loop_optimize): Verify that max_uid_for_loop is still
- larger than the uid of any insn. Increase the number of exit
- blocks from 4 to 32 per loop.
- (find_and_verify_loops): Stop trying to relocate exit blocks when
- allocating a new label would exceed max_uid_for_loop.
+ * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
+ __builtin_fsqrt to __builtin_sqrt.
- * combine.c (subst): Don't change a conditional branch into a
- conditional move.
+ * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
+ * doc/extend.texi: Simplify documentation to match patch.
- * m88k.md (ext shift patterns): No longer needed.
+Fri Dec 14 21:23:54 CET 2001 Jan Hubicka <jh@suse.cz>
- * m88k.c (mostly_false_jump): Recognize a sequence properly.
-
-Mon Oct 12 22:31:37 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
+ * config.gcc: Revamp target_cpu_default2 to strings;
+ support new x86 variants.
+ * i386.c (override_options): Default x86_cpu_string and x86_arch_string
+ properly; set prefetch_sse.
+ * i386.h (x86_prefetch_sse): Declare.
+ (TARGET_PREFETCH_SSE): New.
+ (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
+ (TARGET_CPU_DEFAULT_*): New.
- * pa.h (LEGITIMIZE_ADDRESS): Fix typo.
+Thu Dec 13 21:57:13 CET 2001 Janis Johnson <janis187@us.ibm.com>
+ Jan Hubicka <jh@suse.cz>
-Tue Oct 13 00:14:09 1992 H Lu (hlu@eecs.wsu.edu)
+ * config/i386/i386.h (struct processor_costs): Add new members
+ prefetch_block and simultaneous_prefetches.
+ (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
+ * config/i386/i386.c (processor_costs structs): Add values for
+ prefetch_block and simultaneous_prefetches.
+ * config/i386/i386.md (unspec values): Remove values for prefetch
+ operations, which now use the PREFETCH rtx code.
+ (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
+ unified prefetch support.
- * Makefile.in (install-common): Put - on cmd that handles protoize.
- (gcc.o, cccp.o): Define TOOLDIR for the compilation.
- (all HOST_PREFIX_1 targets): Fix typos.
+2001-12-14 Jason Merrill <jason@redhat.com>
- * x-linux (cpp.a, linux.a, cc1.a, cc1plus.a, gcc.a): Targets deleted.
- (LD, ALIBS, STANDARD_STARTFILE_PREFIX, GPLUSPLUS_INCLUDE_DIR):
- Vars deleted.
+ * diagnostic.c (sorry): Increment sorrycount before saving the
+ buffer state.
- * i386linux.h: Delete NO_JUMPTABLE conditional and contents.
- (GPLUSPLUS_INCLUDE_DIR): Defined.
- (STARTFILE_SPEC): Changed.
+Fri Dec 14 19:53:23 CET 2001 Jan Hubicka <jh@suse.cz>
- * gen*.c: Include hconfig.h, not config.h.
+ * i386.md (sqrt?f): Fix conditionals.
-Mon Oct 12 16:25:22 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+Fri Dec 14 07:29:52 2001 Douglas B. Rupp <rupp@gnat.com>
- * configure.bat, vmsconfig.com: Make hconfig.h.
+ * config.gcc (alpha64-dec-*vms*): New case.
+ * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
+ * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
+ * config/alpha/xm-vms64.h: Likewise.
- * vax.h (PRINT_OPERAND): Detect `double' constants by DFmode,
- since VOIDmode means an integer.
+ * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
+ (alpha_write_linkage): Test for null alpha_links.
+ (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
+ (vms_section_type_flags, vms_asm_named_section): Handle them.
- * mips.h (DEBUG_REGISTER_NAMES): New macro definition.
- * print-rtl.c (reg_names):
- Make it static. Use DEBUG_REGISTER_NAMES if that's defined.
- * regclass.c (reg_names): Reinstate the definition here.
+Fri Dec 14 12:05:14 CET 2001 Jan Hubicka <jh@suse.cz>
- * fixinc.svr4: Delete excess fi in fixing stat.h.
+ * i386.c (ix86_fpmath, ix86_fpmath_string): New.
+ (override_option): Set ix86_fpmath.
+ * i386.h (MASK_MIX_SSE_I387): Remove.
+ (TARGET_SSE_MATH): New.
+ (TARGET_MIX_SSE_I387): Use ix86_fpmath.
+ (TARGET_SWITCHES): Remove "mix-sse-i387".
+ (fpmath_unit): New enum.
+ (ix86_fpmath, ix86_fpmath_string): Declare.
+ * i386.md (swapsf): Fix condition.
+ (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
+ (fp_?f_*_nosse): New.
+ (fp_*): Use TARGET_SSE_MATH.
+ * invoke.texi (-mfpmath): Document.
+ (-msse2): Add.
-Mon Oct 12 08:10:37 1992 James Van Artsdalen (jrv@goldman.gnu.ai.mit.edu)
+2001-12-14 Jason Merrill <jason@redhat.com>
- * Makefile.in (install-fixincludes): Only delete an existing
- syslimits.h if we install limits.h over it.
+ * dwarf2out.c (output_die): Print the string in the comment for
+ a DW_FORM_strp.
- * i386.h (PRINT_REG): Undo Oct 11 change.
- (DEBUG_PRINT_REG): New macro, used from print-rtl.c.
+2001-12-14 Richard Earnshaw <rearnsha@arm.com>
- * conditions.h (CC_NOT_SIGNED): New macro.
- * final.c (alter_cond): If CC_NOT_SIGNED, convert signed
- conditions to unsigned.
+ * netbsd.h (COLLECT_SHARED_INIT_FUNC)
+ (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
+ * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
+ (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
- * i386.md (cmpstrM patterns): Compare strings of unsigned chars,
- not strings of signed chars.
+2001-12-13 Richard Henderson <rth@redhat.com>
-Mon Oct 12 06:31:13 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * regrename.c (kill_value_regno): Simplify chain removal.
+ (kill_value): Kill all of HARD_REGNO_NREGS.
+ (kill_set_value): Use kill_value not kill_value_regno.
+ (kill_autoinc_value): Likewise.
+ (copyprop_hardreg_forward): Don't collect refresh_blocks.
+ Call delete_noop_moves.
- * combine.c (try_combine): Save DEST of NI2PAT before calling
- recog_for_combine, which might make it a PARALLEL.
+2001-12-13 Aldy Hernandez <aldyh@redhat.com>
- * emit-rtl.c (gen_lowpart_common): Allow MODE_PARTIAL_INT where
- MODE_INT is allowed.
+ * attribs.c (c_common_attribute_table): Swap decl_req and type_req
+ for the mode attribute.
+ (handle_mode_attribute): Handle types, not decls.
- * combine.c (try_combine): Properly call single_set when validating
- the result of a define_split.
+2001-12-13 Jason Merrill <jason@redhat.com>
-Mon Oct 12 00:24:29 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
- * calls.c (calls_alloca): Don't look within DECL_INITIAL if it's 0.
+2001-12-13 Aldy Hernandez <aldyh@redhat.com>
- * varasm.c (simplify_subtraction): New function.
- * rtl.h (simplify_subtraction): Declared.
- * final.c (output_addr_const): Call it.
+ * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
+ constraint to base register.
+ (eh_set_lr_si): Same.
- * print-rtl.c (DEBUG_PRINT_REG): Renamed from PRINT_REG.
- (print_rtx): Use DEBUG_PRINT_REG.
+2001-12-13 Hans-Peter Nilsson <hp@axis.com>
-Sun Oct 11 16:27:53 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu.edu)
+ * expr.c (expand_expr, case ADDR_EXPR): Don't honor
+ flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
+ modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
- * genrecog.c (merge_trees): When splitting, remember to clear DUPNO
- in addition to the other things we can test.
+Thu Dec 13 20:30:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * recog.c (general_operand, immediate_operand, const_double_operand):
- Allow CONST_INT with MODE_PARTIAL_INT.
- (nonmemory_operand): Likewise.
+ * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
+ warning and reformat comments.
+ (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
+ (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
+ if overflow.
-Sun Oct 11 07:53:39 1992 James Van Artsdalen (james at bigtex.cactus.org)
+2001-12-12 Aldy Hernandez <aldyh@redhat.com>
- * xm-i38v4.h,xm-aix386.h (USE_C_ALLOCA): New macro. Define if not
- using GNU C's builtin alloca.
+ * config/rs6000/rs6000.c (rs6000_override_options): Add
+ SUBSUBTARGET_OVERRIDE_OPTIONS.
- * i386.c (notice_update_cc): Only set CC_IN_80387 for float compares.
+ * config/rs6000/eabialtivec.h: New file.
- * i386.h (PRINT_REG): Make register name arrays static within this
- macro.
+ * config/rs6000/linuxaltivec.h: New file.
-Sun Oct 11 01:41:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config.gcc: Add powerpc-*-eabialtivec and
+ powerpc-*-linux-gnualtivec.
- * jump.c (jump_optimize): Don't optimize jumps to store-flag insns
- when BLKmode values are being compared.
+2001-12-13 Neil Booth <neil@daikokuya.demon.co.uk>
-Sat Oct 10 16:51:08 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * toplev.c (process_options, parse_options_and_default_flags):
+ Set flag_no_inline before the post_options hook.
- * print-rtl.c (print_rtx): Print hard reg name as well as number.
- (PRINT_REG): New macro with default definition.
- (reg_name): Moved here.
- * regclass.c (reg_name): Deleted.
+2001-12-13 Richard Henderson <rth@redhat.com>
-Sat Oct 10 02:27:14 1992 James Van Artsdalen (james at bigtex.cactus.org)
+ * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
+ is false.
- * i386sco.h (TARGET_DEFAULT): New macro - don't make TARGET_IEEE_FP
- default for SCO.
+2001-12-13 Richard Earnshaw <rearnsha@arm.com>
-Sat Oct 10 04:52:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * collect2.c (COLLECT_SHARED_INIT_FUNC)
+ (COLLECT_SHARD_FINI_FUNC): Define default values.
+ (write_c_file_stat): Use them to call construtor and destructor
+ functions in shared libraries.
+ * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
+ (COLLECT_SHARD_FINI_FUNC): Document them.
+ * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
+ (COLLECT_SHARD_FINI_FUNC): Define.
- * function.h (struct function): New fields const_rtx_hash_table,
- const_rtx_sym_hash_table, first_pool, last_pool, pool_offset.
- * function.c (pop_function_context, push_function_context):
- Call {save,restore}_varasm_status.
- * varasm.c: Include function.h.
- (restore_varasm_status, save_varasm_status): New fns.
- (init_const_rtx_hash_table): Allocate the hash tables in obstack.
- (force_const_mem): Don't use CONST_DOUBLE_MEM for nested fns.
- (clear_const_double_mem): Do nothing for nested fns.
- * Makefile.in (varasm.o): Dep on function.h.
+ * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
+ shared library. Pass -shared through to the linker.
+ * config/arm/netbsd.h (LINK_SPEC): Likewise.
-Fri Oct 9 18:16:18 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
+ * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
+ (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
+ (SHLIB_INSTALL): Define.
- * cp-decl.c (duplicate_decls): Only find out if olddecl is a
- friend after we know it's not a TREE_LIST.
+2001-12-13 Richard Earnshaw <rearnsha@arm.com>
-Fri Oct 9 18:10:19 1992 Jim Wilson (wilson@geech.gnu.ai.mit.edu)
+ * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
+ the same way as we handle SYMBOL_REFS.
- * sparc.c (sparc_type_code): Return reasonable result for COMPLEX_TYPE.
+Thu Dec 13 07:47:24 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Fri Oct 9 14:33:26 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * loop.c (remove_constant_addition): Fix prototype and whitespace.
+ (emit_prefetch_instructions): Remove warnings and whitespace
+ changes.
- * reorg.c (start_of_epilogue_needs): New variable.
- (mark_target_live_regs): Add in start_of_epilogue_needs when
- NOTE_INSN_EPILOGUE_BEG is scanned.
- (dbr_schedule): Compute start_of_epilogue_needs and update
- end_of_function_needs to include sets by all instructions
- following NOTE_INSN_EPILOGUE_BEG.
+Thu Dec 13 06:48:38 2001 Douglas B. Rupp <rupp@gnat.com>
- * m88k.md (return): Always available once reload has completed.
- (epilogue): Use a return insn rather than an indirect jump.
+ * config/alpha/vms-cc.c (preprocess_args): Fix forward
+ declaration.
-Fri Oct 9 12:36:54 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+Thu Dec 13 12:31:07 CET 2001 Jan Hubicka <jh@suse.cz>
- * spc-sol2.h (DBX_DEBUGGING_INFO): Defined.
+ * predict.c (estimate_probability): Reorganize opcode heuristics.
+ * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
+ PRED_FPOPCODE): New.
- * function.c (aggregate_value_p): Return 1 if regs we would use
- are not all call-clobbered.
+ * i386.c (override_options): Recognize various CPU variants and set
+ SSE/MMX/3dNOW flags accordingly.
+ * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
+ MASK_3DNOW_A_SET): New.
+ (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
+ (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
+ (MASK_*): Renumber.
+ (TARGET_FLAGS): Use new masks.
+ (CPP_CPU_SPECS): Recognize new CPU variants.
+ * invoke.texi (-mcpu): Update documentation.
- * stmt.c (POPSTACK): Pop discarded elts off all the stacks as we go.
+ * flags.h (flag_prefetch_loop_arrays): Declare.
+ * loop.h (LOOP_PREFETCH): Define new constant.
+ * loop.c (strength_reduce): Call emit_prefetch_instructions.
+ (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
+ PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
+ constants.
+ (check_store_data): New structure.
+ (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
+ New functions.
+ * toplev.c: Include insn-flags.h.
+ (flag_prefetch_loop_arrays): New global variable.
+ (lang_independent_option): Add -fprefetch-loop-arrays.
+ (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
+ is set.
+ * Makefile.in (toplev.c): Depend on insn-flags.h.
+ * invoke.texi (-fprefetch-loop-arrays): Document.
+
+ * predict.c (estimate_probability): Distribute the loop exit
+ probability according to number of exit edges.
+
+ * cfgcleanup.c (insns_match_p): Break out from ...;
+ (flow_find_cross_jump): ... here;
+ (outgoing_edges_match): Add parameter MODE; attempt to match everything
+ except for tablejumps.
+ (try_crossjump_to_edge): Accept complex edges.
+ (try_crossjump_bb): Likewise.
+
+2001-11-29 Corey Minyard <minyard@acm.org>
+
+ * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
+ instead of plus_constant.
+ * simplify-rtx.c (neg_const_int): New.
+ (simplify_gen_binary, simplify_plus_minus): Use it.
+
+2001-12-12 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
+ expand_builtin_strcpy): Additional arguments TARGET and MODE.
+ (expand_builtin_bzero, expand_builtin_strcpy,
+ expand_builtin_strncpy, expand_builtin_bzero): Pass additional
+ TARGET and MODE parameters to the above functions.
+ (expand_builtin_memset, expand_builtin_memcpy): Optimize the
+ case where the LEN parameter is constant zero.
+ (expand_builtin_memcmp): No longer conditional on
+ HAVE_cmpstrsi. Take an additional mode parameter. Optimize
+ the cases where len is either constant zero or one.
+ Optimize to call to memcpy, even if the memcpy isn't inlined.
+ (expand_builtin_strncpy): Optimize to call memcpy, even if the
+ memcpy isn't inlined.
+ (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
+ to optimize to a call to memcmp.
+ (expand_builtin): expand_builtin_memcmp can always be called,
+ and pass the required parameters to expand_builtin_memcmp,
+ expand_builtin_memset, expand_builtin_memcpy and
+ expand_builtin_strcpy.
+
+2001-12-12 David O'Brien <obrien@FreeBSD.org>
+
+ * config.gcc (arm-*-freebsd*): Add target.
+ * config/arm/freebsd.h: New file.
+ * config/arm/arm.h (CPP_PREDEFINES): Do not define.
+ (CPP_SPEC): #undef before defining.
+ (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
+ * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
+ -Amachine=arm.
+ * config/arm/linux-elf.h: Likewise.
+ * config/arm/netbsd.h: Likewise.
+ * config/arm/riscix.h: Likewise.
+ * config/arm/riscix1-1.h: Likewise.
+ * config/arm/semiaof.h: Likewise.
-Fri Oct 9 07:30:14 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-12-12 Richard Henderson <rth@redhat.com>
- * reorg.c (mark_target_live_regs): Fix bug in last change.
+ * regrename.c (copyprop_hardreg_forward): New optimization.
+ (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
+ kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
+ replace_oldest_value_reg, replace_oldest_value_addr,
+ replace_oldest_value_mem, copyprop_hardreg_forward_1,
+ debug_value_data, validate_value_data): New.
+ * rtl.h (copyprop_hardreg_forward): Declare.
+ * toplev.c (flag_cprop_registers): New.
+ (f_options): Add -fcprop-registers
+ (rest_of_compilation): Invoke it.
+ (parse_options_and_default_flags): Set it at -O1.
+ * doc/invoke.texi: Document it.
- * combine.c (subst, case SUBREG): Don't make a new REG for
- stack, frame, or arg pointer.
- * emit-rtl.c (gen_lowpart_common, gen_highpart, operand_subword):
- Likewise.
+2001-12-12 Jakub Jelinek <jakub@redhat.com>
- * local-alloc.c (optimize_reg_copy_1): Tighten up code to properly
- handle the case when SRC or DEST is a multi-word hard register
- and only some parts of the register are set or used. Also, avoid
- updating register status for DEST if we can't do the optimization.
+ * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
+ (DEBUG_RANGES_SECTION_LABEL): Define.
+ (ranges_section_label): Add.
+ (add_AT_range_list): New.
+ (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
+ (output_loc_list): Location expression length is always 2-byte.
+ (output_die): Handle dw_val_class_range_list.
+ (gen_lexical_block_die): Call add_AT_range_list.
+ (dwarf2out_init): Initialize ranges_section_label.
+ (dwarf2out_finish): Emit ranges_section_label.
- * jump.c (jump_optimize): Only use a REG as a target.
+2001-12-12 Jakub Jelinek <jakub@redhat.com>
- * alpha.c (alpha_builtin_saveregs): Don't use value of NREGS greater
- than 6 when computing ARGSIZE.
+ * c-typeck.c (digest_init): Allow initializing
+ static storage duration objects with compound literals.
+ * doc/extend.texi (Compound literals): Document the extension.
- * va-alpha.h (va_arg): Put parens around all uses of __VA arg.
+2001-12-12 Richard Henderson <rth@redhat.com>
-Thu Oct 8 18:45:00 1992 Arne H. Juul (arnej@lise.unit.no)
+ * emit-rtl.c (adjust_address_1): Always copy address to avoid
+ shared rtl.
- * Makefile.in (install-common-headers): added missing 'then'
+Wed Dec 12 07:37:52 2001 Olivier Hainque <hainque@act-europe.fr>
-Thu Oct 8 15:52:22 1992 Michael Meissner (meissner@osf.org)
+ * stmt.c (expand_end_case): Do subtraction of lower bound as trees
+ to avoid overflow.
- * mips.h (SELECT_RTX_SECTION): Rename macro from obsolete name
- SELECT_SECTION_MODE.
+Wed Dec 12 07:35:24 2001 Douglas B. Rupp <rupp@gnat.com>
- * i386rose.h (whole file): Remove #ifdef before #undef of macros.
- (LEGITIMATE_CONSTANT_P): Define, so that when half-pic is on,
- half-pic addresses are not considered legitimate.
- (SELECT_RTX_SECTION): If putting a half-pic pointer that is
- loaded, put the pointer into the data section, rather than the
- readonly_data_section.
- (SELECT_SECTION): Define.
- (ASM_OUTPUT_DOUBLE): If not cross compiling, emit double as two
- longs, otherwise emit .double directive.
- (ASM_OUTPUT_FLOAT): If not cross compiling, emit float as long,
- otherwise emit .float directive.
- (perform_fixdfsi): Copy arg to memory variable.
- (SIZE_TYPE): Define to be long unsigned int.
- (PTRDIFF_TYPE): Define to be int.
- (WCHAR_TYPE)L: Define to be unsigned int.
+ * cppfiles.c (read_include_file): Set buffer size properly when
+ file is shorter than expected.
- * i386.md (movsi): Remove obsolete half-pic code.
- (call insns): For half-pic insns, force address into register.
+Wed Dec 12 08:35:33 2001 Nicola Pero <n.pero@mi.flashnet.it>
-Thu Oct 8 14:22:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
+ enumeral types - encode them using 'i'.
- * Makefile.in (install-common-headers): Fix dir in chmods for assert.h.
+2001-12-12 Nathan Sidwell <nathan@codesourcery.com>
- * va-i860.h (__savereg, va_arg): Put uses of __va in parens.
+ * doc/extend.texi (Deprecated Features): Deprecate implicit
+ typename. Document that named return and initializer lists are now
+ removed.
- * vax.h (PRINT_OPERAND): Define new code, D.
- * vax.md (movdi): Use D code for operand 1.
+2001-12-11 Roger Sayle <roger@eyesopen.com>
-Thu Oct 8 13:23:25 1992 Jeffrey A. Law (law@mole.gnu.ai.mit.edu)
+ * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
+ compiler warning about enumeration values not being handled.
- * pa.md (fp_alu function unit, case fpcc): Fpcc instructions use
- the fpalu unit. In the most common case their result will be used
- in a ftest instruction. Minimum distance between the fcmp and
- ftest instruction is 4.
+2001-12-11 Momchil Velikov <velco@fadata.bg>
-Thu Oct 8 06:41:15 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
+ shifts.
- * function.c (assign_parms): Provide a safe value for
- DECL_INCOMING_RTL in case of syntax errors.
+2001-12-11 Richard Henderson <rth@redhat.com>
- * dwarfout.c (dwarfout_init, dwarfout_finish): Don't output labels
- or .debug_aranges entries for .data1 and .rodata1 as these
- sections aren't currently used.
+ * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
+ * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
+ * config/alpha/alpha.md (prefetch): New.
-Thu Oct 8 04:44:17 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-12-11 Richard Henderson <rth@redhat.com>
- * reorg.c (mark_target_live_regs): Look at USE insns made by
- update_block when scanning forward past target.
- (mark_target_live_regs, dbr_schedule): Use GET_RTX_CLASS.
+ * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
+ if C has only low bits set and doesn't intersect with X or Y.
- * cse.c (PATHLENGH): Change from 20 to 10 to speed up compilations.
+Tue Dec 11 23:58:39 EST 2001 John Wehle (john@feith.com)
-Thu Oct 8 03:07:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * basic-block.h (flow_preorder_transversal_compute): Declare.
+ * cfganal.c (flow_preorder_transversal_compute): Implement.
- * fold-const.c (invert_truthvalue): Never alter ARG.
+Tue Dec 11 23:54:27 EST 2001 John Wehle (john@feith.com)
- * Makefile.in (TAGS): Exclude =*.[chy] from tags table.
+ * cfganal.c (flow_depth_first_order_compute): Always
+ increment dfsnum.
- * c-lex.c (yylex): For floats, use REAL_VALUES_LESS to distinguish
- underflow from overflow. Delete special case for 0.0.
+2001-11-30 Alan Matsuoka <alanm@redhat.com>
-Wed Oct 7 16:25:19 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * combine.c (combine_simplify_rtx) : Can't simplify
+ cases that use mode class MODE_CC.
- * dwarfout.c (dwarfout_{begin,end}_function): New functions.
- (body_{begin,end}_attribute): New functions.
- (dwarf_attr_name): Print AT_body_begin and AT_body_end.
- (output_{local,global}_subroutine_die): Output the new attributes.
- * dwarf.h (enum dwarf_attribute): Add At_body_begin and AT_body_end.
- * final.c (final_scan_insn): Call dwarfout_begin_function.
- (final_end_function): Call dwarfout_end_function.
+2001-12-11 Richard Henderson <rth@redhat.com>
- * m88k.h (FASTEST_ALIGNMENT): Define as 8 for -m88110 otherwise 4.
- (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Base on FASTEST_ALIGNMENT.
- * m88k.md (movstrsi): No predicate is needed for the source or
- destination.
- * m88k.c (best_from_align): Add a target processor dimension for
- -m88000, -m88110, and -m88100.
- (expand_block_move): Choose method and limits based on -m88xxx option.
- (block_move_no_loop): Extend to allow DImode.
- * m88k-move.sh: Add the modules moveDI96x and moveDI41x through
- moveDI47x.
- * t-m88k, t-m88kluna, t-m88ksvr4: New modules added to MOVE_ASM.
+ * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
+ which there is no divide expander.
- * m88k.c (output_call): Use different syntax for GAS.
+2001-12-11 Richard Henderson <rth@redhat.com>
- * m88k.h (READONLY_DATA_SECTION): Don't override svr4.h
- (ASM_OUTPUT_CASE_LABEL): For svr4, use .rodata.
+ * except.c (sjlj_find_directly_reachable_regions): Don't
+ consider RNL_BLOCKED a directly reachable region.
+ (sjlj_assign_call_site_values): Trust directly_reachable.
+ (sjlj_emit_dispatch_table): Likewise.
-Wed Oct 7 15:47:19 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-11 Richard Henderson <rth@redhat.com>
- * configure (i486-ncr-sysv4): Use i386v4.h.
- (i386-*-sysv4, i386-*-linux, i386-*-sysv): Handle 486 too.
- (i486-*-sysv4, i486-*-linux): Deleted.
- * i486v4.h, i486linux.h: Files deleted.
+ * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
+ we represent the address load's dependency on the gp.
+ (divmoddi_internal_er): Likewise.
+ (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
-Wed Oct 7 12:40:00 PDT 1992 Ron Guilmette (rfg at netcom.com)
+2001-12-11 Richard Henderson <rth@redhat.com>
- * populate (progname): Just the basename of $0 please.
- (target_dir): Use abs_target_dir and rel_target_dir for clarity.
- (source_dir): Use abs_source_dir and rel_source_dir for clarity.
- (*): List input and output dirs on startup.
- (*): Don't be so verbose; Don't echo names of output dirs/files as
- they are created.
+ * emit-rtl.c (widen_memory_access): New.
+ * expr.h (widen_memory_access): Declare it.
+ * config/alpha/alpha.c (get_aligned_mem): Use it.
- * fixinc.svr4 (<sys/signal.h>): Fix types of SIG_DFL, SIG_ERR,
- SIG_IGN, and SIG_HOLD.
- (<sys/stat.h>): Turn definitions of stat, lstat, fstat, and mknod
- into ANSI syntax and add __ to variables used.
+2001-12-11 Richard Henderson <rth@redhat.com>
- * c-parse.in (component_decl_list): Do pedwarn for missing semicolon
- after last field decl.
+ * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
+ simplification above out of range check.
-Wed Oct 7 09:49:34 1992 Michael Meissner (meissner@osf.org)
+2001-12-11 Dan Nicolaescu <dann@ics.uci.edu>
- * decstatn.h (LINK_SPEC): Don't define if it is already defined,
- ie dec-osf1.h has included decstatn.h.
+ * config/sparc/sparc.md (prefetch): New.
- * dec-osf1.h (MACHINE_TYPE): Redefine to say DEC OSF/1 instead of
- ultrix.
+2001-12-11 Aldy Hernandez <aldyh@redhat.com>
-Wed Oct 7 03:50:11 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * output.h (regno_uninitialized): Make argument unsigned.
- * configure (target_cpu_default): Var renamed from target_default.
- Set it to 2, for a 486. Define TARGET_CPU_DEFAULT macro.
+ * flow.c (regno_uninitialized): Make regno unsigned.
- * i386.h (TARGET_CPU_DEFAULT): Add default definition.
- (TARGET_SWITCHES): Include that in the default.
+2001-12-11 David O'Brien <obrien@FreeBSD.org>
- * toplev.c (main): Recover correctly from invalid -Wid-clash option.
+ * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
+ * config/cris/cris.h (ENDFILE_SPEC): Define.
+ * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
+ * config/pa/elf.h: Likewise.
- * cccp.c (finclude): Set fp->buf earlier, so it's freed on error.
+2001-12-11 Richard Henderson <rth@redhat.com>
- * Makefile.in (install-common-headers): Avoid ! operator, for assert.h.
+ * objc/objc-act.c (build_string_class_template): New.
+ (build_objc_string_object): Call it.
-Tue Oct 6 20:21:21 1992 Jim Wilson (wilson@geech.gnu.ai.mit.edu)
+2001-12-11 Steve Ellcey <sje@cup.hp.com>
- * unroll.c (copy_loop_body, JUMP_INSN case): Delete abort in the
- code for setting the JUMP_LABEL field.
+ * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
+ * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
+ * calls.c (store_unaligned_arguments_into_pseudos): Check
+ FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
+ are passed/returned.
+ * expr.c (move_block_from_reg): Ditto.
+ (move_block_from_reg): Ditto.
+ (copy_blkmode_from_reg): Ditto.
+ * stmt.c (expand_return): Ditto.
+ * stor-layout.c (compute_record_mode): If
+ FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
+ MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
+ * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
+ so that Structures of one field are still treated as structures.
+ (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
+ (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
+ (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
+ * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
+ * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
+ to special case handling of structure padding.
-Tue Oct 6 19:29:19 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
+2001-12-11 Daniel Berlin <dan@cgsoftware.com>
- * cp-call.c (build_overload_call_real): If `functions' is an
- ADDR_EXPR (as with operator new and delete), give the name of its
- argument as the error fn.
+ * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
+ (may_trap_exp): Stores only are risk if they trap, too, not just
+ if code == MEM.
-Tue Oct 6 14:15:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-11 Aldy Hernandez <aldyh@redhat.com>
- * configure: Correct conditional in setting build_xm_file.
+ * flow.c (find_regno_partial): Indent properly. Add a default to
+ switch.
- * function.c (get_first_block_beg): New function.
+2001-12-11 Neil Booth <neil@daikokuya.demon.co.uk>
- * cross-make (assertdir): Override usual definition.
- * Makefile.in (install-common-headers): chmod assert.h in proper dir.
- Use $(assertdir).
- (assertdir): New variable.
- (install-dir): Create dir $(includedir).
- (includedir): Make this /usr/local/include.
+ * c-common.c (combine_strings): Complain if concatenating
+ __FUNCTION__.
+ * c-parse.in (yylexname): Flag artificial strings.
+ * tree.h (TREE_ARTIFICIAL_STRING_P): New.
+doc:
+ * extend.texi: Update.
-Tue Oct 6 12:05:35 1992 Jeffrey A. Law (law@mole.gnu.ai.mit.edu)
+2001-12-11 Aldy Hernandez <aldyh@redhat.com>
- * pa.md (memory function unit, load case): Loads take two cycles,
- not one.
+ * c-common.c (type_for_mode): Handle unsigned vectors.
+ (type_for_mode): Remove redundant calls to TYPE_MODE.
-Tue Oct 6 07:56:05 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
+ * tree.c (make_vector): New.
+ (build_common_tree_nodes_2): Use make_vector for vector types.
+ Add unsigned vector types.
- * pa.md (adddi3): Fix typo.
+ * tree.h (tree_index): Add unsigned types for vectors.
+ (unsigned_V16QI_type_node): New.
+ (unsigned_V4SI_type_node): New.
+ (unsigned_V8QI_type_node): New.
+ (unsigned_V8HI_type_node): New.
+ (unsigned_V4HI_type_node): New.
+ (unsigned_V2SI_type_node): New.
-Tue Oct 6 04:03:40 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-11 Stan Shebs <shebs@apple.com>
- * m68k.c (floating_exact_log2, standard_68881_constant_p):
- (standard_sun_fpa_constant_p): Use REAL_VALUE_FROM_CONST_DOUBLE.
- (print_operand): Likewise.
+ * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
+ test of class names.
-Mon Oct 5 18:39:29 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
+2001-12-11 David O'Brien <obrien@FreeBSD.org>
- * tree.h (TREE_VIA_PROTECTED): Set protected_flag, not static_flag.
+ * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
+ cpu configuration headers.
+ * config/h8300/elf.h: Include dbxelf.h.
+ * config/m68k/linux.h: Likewise.
+ * config/m68k/m68020-elf.h: Likewise.
+ * config/m68k/m68kv4.h: Likewise.
+ * config/sh/elf.h: Likewise.
+ * config/m68k/m68kemb.h: Add comment about the its purpose.
-Mon Oct 5 18:27:08 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-11 Richard Henderson <rth@redhat.com>
- * Makefile.in ($(srcdir)/INSTALL): Add -D INSTALLONLY.
+ * objc/objc-act.c (build_constructor): Cast initializer values
+ to the proper field types.
-Mon Oct 5 14:46:08 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
+2001-12-11 Jakub Jelinek <jakub@redhat.com>
- * cp-parse.y (unary_expr): Use the `new' rule when looking for
- something like `new(foo) char[10]'.
+ * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
- * cp-decl.c (grokparms): Don't call digest_init on default args.
+2001-12-10 Roger Sayle <roger@eyesopen.com>
-Mon Oct 5 02:21:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * builtins.c (expand_builtin): Use a switch statement to list
+ those functions not expanded without optimizations, instead of a
+ series of equality tests.
- * reload1.c (allocate_reload_reg): Always check for asm
- on failure instead of simply aborting.
+Tue Dec 11 07:08:57 2001 Douglas B. Rupp <rupp@gnat.com>
- * optabs.c (init_optabs): Use cabs as the only libcall for abs.
+ * config/alpha/vms.h (LIB_SPEC): Define.
+ * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
-Mon Oct 5 03:10:14 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
+ * libgcc2.c (_bb): Remove ctime declaration.
- * c++ (numargs): $# was used after set was called; instead, save
- $# in $numargs and use that value instead.
+ * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
+ that works if LN_S = cp.
-Sun Oct 4 12:34:00 PDT 1992 Ron Guilmette (rfg at netcom.com)
+ * config/alpha/x-vms (version): Change "." to "_".
- * dwarfout.c (hard-reg-set.h): Included to get decl of `reg_names'.
- (PRINT_REG): Default definition added.
- (dwarf_last_decl): Variable declaration added.
- (output_reg_number): New function; handle -fverbose-asm reg printing.
- (output_mem_loc_descriptor, output_loc_descriptor): Call it.
- (output_decl): Set `dwarf_last_decl' each time this fn is called.
- * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Declared.
- (PRINT_REG): Definition moved from i386.c.
- * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Not static.
- (PRINT_REG): Definition moved to i386.h.
+ * configure.in: Hardcode that vfork works on VMS host.
+ * configure: Regenerated.
-Sun Oct 4 00:53:37 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+Mon Dec 10 18:37:31 2001 Douglas B. Rupp <rupp@gnat.com>
- * c-decl.c (shadow_tag_warned): Use pedwarn for useless keyword.
+ * gcc.c (convert_filename): Add do_obj parameter. Don't convert
+ unless do_obj true.
+ (process_command): Modify calls to convert_filename.
- * c-lex.c (readescape): No warning if digits in \x are all 0's.
+2001-12-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-Sat Oct 3 14:37:39 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
- * optabs.c (expand_complex_abs): New function.
- * expr.h (expand_complex_abs): Add declaration.
+Mon Dec 10 15:54:27 2001 Jeffrey A Law (law@cygnus.com)
-Sat Oct 3 07:29:09 1992 Michael Meissner (meissner@osf.org)
+ * combine.c (known_cond): Check mode of each operand to determine
+ if COND is comparing floating point values.
- * configure (mips-dec-osf1): Use x-dec-osf1 instead of x-decstatn.
+2001-12-10 David Edelsohn <edelsohn@gnu.org>
- * x-dec-osf1 (new file): Like x-decstatn, except that INSTALL is
- installbsd -c.
+ * rs6000.h (processor_type): Add PPC405.
+ (RTX_COSTS): Add PPC405. Correct rs64 and ppc630 multiply costs.
+ * rs6000.md: Add PPC405 information. Utilize imul2 and imul3 for
+ rios1, rs64, and ppc630 processors.
+ * rs6000.c (processor_target_table): Add PPC405.
-Sat Oct 3 05:04:43 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-12-10 Richard Henderson <rth@redhat.com>
- * toplev.c (rest_of_decl_compilation): Don't call
- dwarfout_file_scope_decl as this causes duplicates.
+ * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
+ instead of hardcoding subregs into the _be and _le patterns.
-Sat Oct 3 01:35:23 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-10 Neil Booth <neil@daikokuya.demon.co.uk>
- * explow.c (allocate_dynamic_stack_space) [MUST_ALIGN]:
- Always add to size, always round up to STACK_BOUNDARY,
- always round the address.
+ * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
- * rtl.h (gen_realpart, gen_imagpart): Declared.
+Mon Dec 10 09:19:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Fri Oct 2 20:03:53 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
+ what insn does.
- * emit-rtl.c (gen_realpart, gen_imagpart): New functions.
- * optabs.c (expand_unop, expand_binop): Use them.
- * expr.c (expand_expr): Use them.
+2001-12-10 Joseph S. Myers <jsm28@cam.ac.uk>
- * cccp.c (main): Handle -U before -D (and -A).
+ * doc/cpp.texi: Don't condition menus on @ifinfo. Condition the
+ copyright notice formerly conditioned on @ifinfo on @ifnottex
+ instead.
- * assert.h: Add magic comment at beginning.
- * Makefile.in (includedir): New variable.
- (USER_H): assert.h removed from value.
- (install-common-headers): Install assert.h separately, in includedir,
- but not if file exists and lacks the magic comment.
+Mon Dec 10 06:15:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * reload1.c (reload): Move test for failure to find any group
- to after the loop over i. Also check that all the regnos fit
- below FIRST_PSEUDO_REGISTER.
+ * vmsdbgout.c (lookup_filename): Remove warning.
- * expr.c (expand_expr):
- For ABS_EXPR, give expand_unop the operand's mode.
+Mon Dec 10 06:09:57 2001 Douglas B. Rupp <rupp@gnat.com>
-Fri Oct 2 14:58:06 PDT 1992 Ron Guilmette (rfg at netcom.com)
+ * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
- * i386v4.h (DBX_REGISTER_NUMBER): Don't abort here on pseudo-regs.
- * dwarfout.c (output_mem_loc_descriptor, output_loc_descriptor):
- Catch cases of bogus DECL_RTL values involving pseudo-regs (for all
- target systems) and print an annoying message if we ever see such a
- case.
+ * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
+ (exeext, target_alias, prefix, local_prefix): Define.
+ * config/alpha/x-vms (USE_COLLECT2): Make empty.
+ * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
+ file specifications. Remove ".".
+ (GCC_INCLUDE_DIR): Remove redefinition (redundant).
+ * fixinc/mkfixinc.sh (alpha*-dec-vms*): Change to alpha*-dec-*vms*
+
+2001-12-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
-Thu Oct 1 17:23:08 1992 Michael Meissner (meissner@osf.org)
+Sun Dec 9 21:57:24 2001 Douglas B. Rupp <rupp@gnat.com>
- * mips-tfile.c (various): Rename some of the index variables and
- fields to indx, so that it doesn't conflict with the BSD
- index function, which may be #define'd to strchr. However, the
- MIPS symbol table has a field called index, so #undef index and
- rindex, and write our own functions local_index and local_rindex.
+ * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
+ Add rules for building [vp]crt0.o
+ * config/alpha/vms.h (START_FILE_SPEC): Define.
+ * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
+ * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
+ * doc/invoke.texi: Document special Alpha/VMS options.
- * mips-bsd.h (CPP_PREDEFINES): Add single underscore in front of
- each of the defines, for RISC-OS 5.0 compatibility.
+Sun Dec 9 20:25:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * mips-sysv.h (CPP_PREDEFINES): Add single underscore in front of
- each of the defines, for RISC-OS 5.0 compatibility.
+ * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
+ * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
+ not GNUC.
- * mips-svr4.h (CPP_PREDEFINES): Add single underscore in front of
- each of the defines, for RISC-OS 5.0 compatibility.
+Sun Dec 9 20:19:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Douglas B. Rupp <rupp@gnat.com>
- * mips.h (CPP_PREDEFINES): Add single underscore in front of each
- of the defines, for RISC-OS 5.0 compatibility.
+ * tree.c (append_random_char): Conditionalize INO for VMS.
- * mips.c (override_options): Only call setvbuf to make stderr line
- buffered for -mstats on Ultrix, and OSF/1.
+2001-12-09 Richard Henderson <rth@redhat.com>
-Thu Oct 1 15:18:55 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * cfgcleanup.c (label_is_jump_target_p): New function.
+ (try_optimize_cfg): Use label_is_jump_target_p to check if label is
+ target of a JUMP_INSN from the preceding block.
- * reload1.c (emit_reload_insns): Add a case to handle
- SECONDARY_MEMORY_NEEDED in the SECONDARY_OUTPUT_RELOAD_CLASS code.
- * sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Also need a temp reg
- when loading HImode and QImode values from memory to FP_REGS.
- (SECONDARY_OUTPUT_RELOAD_CLASS): New macro. Define this to handle
- HImode and QImode stores from FP_REGS to memory similar to above.
+Sun Dec 9 18:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
-Thu Oct 1 13:36:52 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * vmsdbgout.c (lookup_filename): Assign null string instead
+ of null pointer to fnam.
- * cccp.c (rescan): If traditional, recognize # only at bol.
+2001-12-09 Richard Henderson <rth@redhat.com>
- * expr.c (expand_expr): Just return the lowpart or highpart.
+ * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
+ immediately after a call; insert nops before a call.
- * configure (i386-*-linux, i486-*-linux): New alternatives.
- * i386linux.h, i486linux.h, xm-linux.h: New files.
+2001-12-09 Richard Henderson <rth@redhat.com>
- * optabs.c (expand_unop): Handle complex negate and abs val.
- (init_optabs): Set up libcalls for complex abs.
- (init_complex_libcalls): New function.
+ * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
+ not FUNCTION_BOUNDARY.
+ * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
+ * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
+ * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
-Thu Oct 1 22:58:45 1992 Eric Youngdale (youngdale@v6550d.nrl.navy.mil)
+2001-12-09 Hans-Peter Nilsson <hp@bitrange.com>
- * make-cc1.com: Extract line containing "#define YYEMPTY" from
- cp-parse.c, and append to cp-parse.h (a la Makefile.in).
+ * config/mmix/mmix.c (mmix_function_block_profiler,
+ mmix_block_profiler, mmix_function_block_profiler_exit): Delete
+ unused functions.
+ * config/mmix/mmix-protos.h (mmix_function_block_profiler,
+ mmix_block_profiler, mmix_function_block_profiler_exit): Delete
+ prototypes.
- * cccp.c (main) [VMS]: Use .obj, not .o, in dependencies output.
+ * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
+ Delete obsoleted macros.
-Thu Oct 1 17:15:49 1992 Chip Salzenberg (chip@tct.com)
+2001-12-09 Joseph S. Myers <jsm28@cam.ac.uk>
- * c-common.c (declare_function_name): __FUNC__ variables
- are compiler-created, so set DECL_SOURCE_LINE to zero.
- * c-decl.c (pushdecl): Internally generated vars can be
- detected with DECL_SOURCE_LINE of zero, not DECL_IGNORED_P.
+ * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
+ doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
-Thu Oct 1 13:07:21 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
+ * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
+ cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
+ function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
+ config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
+ config/i370/i370.c, config/i386/i386.c,
+ config/i386/i386-interix.h, config/i386/i386.md,
+ config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
+ config/m32r/m32r-protos.h, config/mcore/mcore.h,
+ config/rs6000/rs6000.h, config/sparc/linux64.h,
+ config/sparc/sparc.c, config/v850/v850-protos.h,
+ config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
+ spelling errors.
- * pa.c (emit_move_sequence): When making a reference to the data
- space before reload, emit an insn sequence which is much more
- likely to create "addil" instructions rather than "ldil; add"
- sequences. Doing so greatly reduces the chance of running into a
- HPUX linker bug when compiling kernels.
+2001-12-09 Daniel Berlin <dan@cgsoftware.com>
- * pa.h (TARGET_KERNEL): New switch "-mkernel" which forces gcc to
- avoid "ldil; add" sequences when %r29 and instead generate "addil"
- sequences. This avoids a HPUX linker bug when compiling kernels.
- * pa.md (add high part and dp register): Split into two patterns,
- one for normal code, one for kernels. Kernel version only allows
- "r1" as the destination register.
+ * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
+ altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
- * pa.h (LEGITIMIZE_ADDRESS, SYMBOL_REF case): Emit a sequence
- which will cause "addil" instructions to be emitted instead of
- "ldil; add" sequences.
+ * config/rs6000/rs6000.c: Ditto.
-Thu Oct 1 01:09:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/rs6000/rs6000.md: Ditto.
- * c-parse.in, cond.awk: New files.
- * Makefile.in (c-parse.y, objc-parse.y): Construct from c-parse.in.
- (gcc.xtar): Depend on c-parse.y, objc-parse.y.
- (realclean): Delete c-parse.y, objc-parse.y.
+2001-12-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * explow.c (allocate_dynamic_stack_space): If STACK_DYNAMIC_OFFSET
- or STACK_POINTER_OFFSET, always round address up to BIGGEST_ALIGNMENT.
+ * 1750a.md: Add default case in switch.
+ * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
+ if-else statement.
+ * dsp16xx.c (print_operand_address): Likewise.
+ * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
+ * ia64.md: Add missing braces.
+ * rs6000-protos.h (s8bit_cint_operand): Prototype.
+ * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
+ if-else statement.
+ * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
+ * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
+ * dbxout.c (dbxout_source_file): Move a variable into the scope
+ where it is used.
+ * final.c (profile_function): Mark parameter with
+ ATTRIBUTE_UNUSED.
+ * genemit.c (gen_expand): Likewise for generated file.
+ * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
- * gstddef.h: If _ANSI_H_, undef _PTRDIFF_T_, _SIZE_T_, _WCHAR_T.
+ * vmsdbg.h: Delete spurious close-comment.
+ (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
+ * vmsdbgout.c (write_modbeg): Define return type.
- * gvarargs.h: In the first part (instead of va-*.h), define
- __gnuc_va_list, as in gstdarg.h. Always use __gunc_va_list
- as basis for defining va_list.
- Move interaction with BSD-NET2 down to where va_list itself is defined.
+ * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
+ * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
+ * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
+ * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
+ * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
- * cccp.c (do_include): Delete unreachable goto after '"' case.
+2001-12-08 Tom Rix <trix@redhat.com>
-Thu Oct 1 16:57:22 1992 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+ * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
+ * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
+ * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
+ for powerpc64.
+ * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
+ movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
+ * config/rs6000/rs6000.c (expand_block_move): Do not use
+ gen_movstrsi_2reg and powerpc64.
- * dpx2g.h (NO_DOLLAR_IN_LABEL): Undef because gas understands dollars
- in labels and gdb expects them if configured for gas.
- (STARTFILE_SPEC): Include huge.o to be compatible with native cc.
- (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
- (CTOR_LISTS_DEFINED_EXTERNALLY, DO_GLOBAL_DTORS_BODY):
- (STARTFILE_SPEC): Conditionally redefine for a collectless version
- of gcc if USE_COLLECT2 is not defined.
+2001-10-08 Aldy Hernandez <aldyh@redhat.com>
- * dpx2.ifile: New ld command file to support not using collect2.
+ * c-common.h (rid): Add RID_CHOOSE_EXPR and
+ RID_TYPES_COMPATIBLE_P.
-Wed Sep 30 17:08:32 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * c-parse.in (reswords): Add __builtin_choose_expr.
+ Add __builtin_types_compatible_p.
+ Add CHOOSE_EXPR token.
+ Add TYPES_COMPATIBLE_P token.
+ Add production for CHOOSE_EXPR.
+ Add production for TYPES_COMPATIBLE_P.
+
+ * doc/extend.texi (__builtin_choose_expr): Add documentation.
+ (__builtin_types_compatible_p): Likewise.
+
+2001-12-08 David Edelsohn <edelsohn@gnu.org>
- * libgcc2.c (__eprintf): Do nothing if inhibit_eprintf is defined.
+ * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
+ to unions.
+
+2001-12-08 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-parse.in: Take string literals in assembler constructs,
+ not expressions.
+ * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
+ check the strings are STRING_CSTs.
- * pbd.h, spc-sol2.h, tower.h (NO_UNDERSCORES): Deleted.
+2001-12-08 Neil Booth <neil@daikokuya.demon.co.uk>
- * Makefile.in (install-fixincludes): rm syslimits.h before installing.
- Install it with cp. Add an else-part to the if that installs it.
+ * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
+ using combine_strings to do the concatenation.
+ * c-parse.in: Replace uses of the string non-terminal with STRING.
+ Don't attempt string concatenation.
+ (OBJC_STRING): New terminal.
+ (string): Remove non-terminal.
+ (_yylex): Call combine_strings on function names. Generate
+ OBJC_STRING terminals; don't pass '@' on to yacc.
+ * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
+ (build_asm_stmt): Similarly.
+
+2001-12-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * c-decl.c (start_enum): Push obstacks, switch to permanent if global.
- (finish_enum): Pop obstacks.
- (store_parm_decls): When clearing ->names, clear out the values
- from the identifiers, restore shadowed values, and clear ->shadowed.
+ * rtlanal.c (get_jump_table_offset): Delete unused variable.
- * c-decl.c (grokdeclarator): Don't warn of const or volatile function
- in a system header file.
+2001-12-08 Richard Earnshaw <rearnsha@arm.com>
- * sdbout.c: Don't use system syms.h on hpux.
+ * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
+ (prefetch): Rewrite using PREFETCH RTL primitive.
+ * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
+ * arm.c (arm_init_builtins): Don't initialize a builtin for
+ __builtin_prefetch here.
+ (arm_expand_builtin): Don't expand __builtin_prefetch here.
- * cccp.c (do_xifdef): Skip all kinds of whitespace, in bof test.
+2001-12-08 Richard Earnshaw <rearnsha@arm.com>
-Wed Sep 30 15:09:10 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * final.c (cleanup_subreg_operands): Use recog_data.operand_loc
+ in test for a subreg.
+
+2001-12-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
+ strings.
+
+2001-12-07 Richard Henderson <rth@redhat.com>
- * sparc.md (orcc peephole): Don't accept FP reg for operand 0.
+ * doc/extend.texi: Fix typo last change.
-Wed Sep 30 00:47:48 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * c-decl.c (c_language): Remove duplicate.
- * gstdarg.h, gvarargs.h: Use <...> to include va-*.h.
+2001-12-07 Dale Johannesen <dalej@apple.com>
- * c-decl.c (start_struct): Push the obstacks.
- Switch to permanent if at top level.
- (finish_struct): Pop them.
+ * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
+ * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
+ specific codegen, eliminate a register copy.
+ (print_operand_address): Add support for Darwin's lo16(constant)
+ syntax.
+ (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
+ generation of addresses within very large data objects.
+ (s8bit_cint_operand): New.
+ * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
+ Move "mtjmpr" to correct functional unit for 750/7400/7450.
+ Add imul2 and imul3 insn types for multiplication by 16- and
+ 8-bit constants.
+ Change tablejump patterns to strongly discourage using LR
+ rather than CTR.
+ Add %lo16 patterns for Darwin loads and stores.
+
+2001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * c-decl.c (store_parm_decls): If we have (erroneously) a prototype
- and old-style parm decls, throw away the old-style parm decls.
+ * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
- * configure: Default $build after $host. Canonicalize all three
- config names before the main dispatch and save in $canon_host, etc.
- Write these into config.status and on terminal at the end.
+2001-12-07 Stephane Carrez <Stephane.Carrez@sun.com>
-Tue Sep 29 18:41:54 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
+ with %sp because it can cause the delayed instruction to load
+ below the stack.
- * unroll.c (find_splittable_givs): recog_memoized failure return
- is -1 not 0.
+2001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Tue Sep 29 22:19:48 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+ * alpha.c (alpha_expand_unaligned_store,
+ alpha_expand_unaligned_store_words): Use constm1_rtx in place of
+ call to immed_double_const.
- * config.sub (os handling): Recognize `linux' as a valid os.
+2001-12-07 Aldy Hernandez <aldyh@redhat.com>
-Tue Sep 29 16:05:47 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * doc/extend.texi (Variable Attributes): Document vector_size.
- * limitx.h: Use <...> in #include.
+ * attribs.c (c_common_attribute_table): Add vector_size.
+ (handle_vector_size_attribute): New.
+ (vector_size_helper): New.
+ (decl_attributes): Relayout the decl after calculating attribs.
- * Makefile.in (ENQUIRE_CFLAGS): Remove -DNO_SC.
+2001-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
-Tue Sep 29 10:14:27 1992 Richard Kenner (kenner@.vlsi1.ultra.nyu.edu)
+ * doc/gcc.texi: Don't include install-old.texi. Adjust menu
+ description for Trouble section.
+ * doc/install-old.texi: Adjust for inclusion as chapter of new
+ installation manual.
+ * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
+ Adjust to include old installation chapter as chapter of new
+ installation manual.
- * optabs.c (expand_binop): Convert X - C to X + (-C).
+Fri Dec 7 11:07:35 EST 2001 John Wehle (john@feith.com)
-Mon Sep 28 22:44:17 1992 Jim Wilson (wilson@cygnus.com)
+ * rtl.h (get_jump_table_offset): Declare.
+ * rtlanal.c (get_jump_table_offset): Implement.
- * reload.c (find_reloads_address): If tem != ad, then create a new
- mem to hold it and store it back into memrefloc.
+Fri Dec 7 07:06:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Mon Sep 28 10:44:55 1992 Chip Salzenberg (chip@tct.com)
+ * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
+ Deleted; were used only by BB profiler code.
+ (sbb_head, sbb_tail, sbb_label_num): Likewise.
+ (end_final): Delete now-unused vars I, PTR, and SPTR.
- * regclass.c: Fix comment syntax after #endif.
+ * expr.c (store_field): Remove warning.
+ (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
+ (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
+ (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
+ divisor constant power of 2.
+ (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
-Mon Sep 28 17:15:22 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * gstdarg.h (va_arg, va_start): Explicitly cast to __gnuc_va_alist.
+ * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
+ shifting.
-Mon Sep 28 17:12:04 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+2001-12-06 Aldy Hernandez <aldyh@redhat.com>
- * unroll.c (copy_loop_body, JUMP_INSN case): When invert jump
- insn, must first construct new insn before trying to invert it,
- so that validate_change will work properly.
+ * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
+ (DWARF_FRAME_REGISTERS): Delete.
- * unroll.c (find_splittable_givs): Pass mem_mode not mode to
- memory_address_p.
+2001-12-06 Janis Johnson <janis187@us.ibm.com>
- * unroll.c (copy_loop_body, JUMP_INSN case): When setting
- JUMP_LABEL field, verify that what we think is a label actually
- is. If it isn't then map the old JUMP_LABEL to find the new one.
+ * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
+ * builtins.def (BUILT_IN_PREFETCH): Change arguments.
+ * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
+ with defaults for read prefetch with high degree of locality.
+ * doc/extend.texi (__builtin_prefetch): Update documentation.
+ * doc/md.texi (prefetch): Add documentation.
- * sparc.md (orcc peephole): Don't allow FP regs to match pattern.
+2001-12-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- * i960.md (indirect_jump): Use bx instead of b*, and accept any
- address_operand instead of just a register operand.
+ * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
+ UNIX V5.1A stdio.h.
+ * fixinc/fixincl.x: Regenerate.
+ Fixes PR libf2c/4826.
- * i960.c (i960_round_tree): Correct conversion of bits to bytes to
- round up to nearest byte.
- (i960_round_align): Likewise.
+2001-12-06 Aldy Hernandez <aldyh@redhat.com>
+ Richard Henderson <rth@redhat.com>
-Mon Sep 28 15:54:18 1992 Michael Meissner (meissner@osf.org)
+ * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
+ (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
- * dec-osf1.h (LINK_SPEC): Fix typo.
+ * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
+ to PRE_GCC3_DWARF_FRAME_REGISTERS.
+ (frame_state): Same.
+ (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
-Mon Sep 28 08:15:02 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
+2001-12-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * rs6000.md (subsi3): Remove last change.
- (allocate_stack): Go back to calling subsi3.
+ * langhooks.c (lhd_staticp): Mark parameter with
+ ATTRIBUTE_UNUSED.
-Mon Sep 28 02:41:32 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-06 H.J. Lu <hjl@gnu.org>
- * optabs.c (expand_binop): Use get_insns, not gen_sequence.
+ * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
+ reduce noise.
+ (.po.pox): Likewise.
+ (o/$(PACKAGE).pot): Likewise.
- * c-typeck.c (build_unary_op): Address of nested fcn isn't constant.
+2001-12-06 Alexandre Oliva <aoliva@redhat.com>
- * libgcc2.c (__builtin_new): Avoid passing 0 to malloc.
+ * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
+ * tree-inline.c (expand_call_inline): ... here.
+
+2001-12-06 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
+ (.po.pox): Likewise.
+ (o/$(PACKAGE).pot): Likewise.
+
+2001-12-06 David O'Brien <obrien@FreeBSD.org>
+
+ * config.gcc: Include dbxelf.h before elfos.h.
+ * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
+
+2001-12-06 Zack Weinberg <zack@codesourcery.com>
+
+ * cppfiles.c (open_file): If we've opened a directory by
+ mistake, close it.
+ (find_include_file): Avoid turning / into // or // into ///.
+
+2001-12-06 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
+ (STRUCT_VALUE_REGNUM): Restore definition.
+
+2001-12-06 Andrew MacLeod <amacleod@redhat.com>
+
+ * flow.c (find_regno_partial): Return register, not the expression
+ the register is in.
+
+Thu Dec 6 09:24:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * function.c (handle_epilogue_set): Check for FP setting case when
+ SP is set from FP in same insn.
+
+2001-12-06 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config/arm/arm.c (load_multiple_sequence): Pass pointer to
+ RTX when calling alter_subreg().
+ (store_multiple_sequence): Pass pointer to RTX when calling
+ alter_subreg().
+
+Thu Dec 6 06:55:13 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * function.c (assing_parms): Fix typo in last change.
+ * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
+ * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
+ * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
+ * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
+
+2001-12-06 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
+ correct code selecting section.
+
+Thu Dec 6 12:45:33 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * final.c (count_basic_block, add_bb, add_bb_string):
+ Kill.
+ (end_final, final_start_function, final, final_scan_insn,
+ leaf_function_p): Kill BB profiler related code.
+ * flags.h (profile_block_flag): Kill.
+ * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
+ BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
+ __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
+ bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
+ reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
+ __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
+ __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
+ __bb_init_trace_func): Kill.
+ * toplev.c (profile_block_flag): Kill.
+ (indepdendent_decode_option, process_options): Kill -a related code.
+ * alpha.c (direct_call_operand): Likewise.
+ * arm.c (arm_expand_prologue, thumb_expand_prologue,
+ thumb_expand_epilogue): Likewise.
+ * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
+ * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ MACHINE_STATE_RESTORE): Kill.
+ * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ MACHINE_STATE_RESTORE): Kill.
+ * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
+ * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
+ ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
+ code.
+ (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
+ * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ MACHINE_STATE_RESTORE): Kill.
+ * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
+ * i960.c (i960_output_function_prologue): Kill BB profiler related
+ code.
+ * ia64.c (ia64_compute_frame_size): Likewise.
+ * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ MACHINE_STATE_RESTORE): Kill.
+ * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
+ * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ MACHINE_STATE_RESTORE): Kill.
+ * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
+ * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ MACHINE_STATE_RESTORE): Kill.
+ * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
+ Kill BB profiler related code.
+ * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ MACHINE_STATE_RESTORE): Kill.
+ * mips.c (mips_expand_prologue): Kill BB profiler related code.
+ * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ MACHINE_STATE_RESTORE): Kill.
+ * rs6000.c (rs6000_override_options): Kill BB profiler related code.
+ * s960.c (s390_function_prologue): Kill BB profiler related code.
+ * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ MACHINE_STATE_RESTORE): Kill.
+ * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+ * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+ * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+ * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+ * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
+ sparc_nonflat_function_epilogue): Kill BB profiler related code.
+ (sparc_function_block_profiler, sparc_block_profiler,
+ sparc_function_block_profiler_exit): Kill.
+ * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
+ (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ MACHINE_STATE_RESTORE): Kill.
+ * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+ * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+ * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ MACHINE_STATE_RESTORE): Kill.
+ * doc/invoke.texi: Kill documentation of -a and -ax.
+ * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ MACHINE_STATE_RESTORE): Kill.
+
+2001-10-26 Steve Christiansen <smc@us.ibm.com>
+
+ * doc/rtl.texi: Use a table to display RTL format characters.
+
+2001-12-06 Bo Thorsen <bo@suse.co.uk>
+
+ * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
+
+Wed Dec 5 19:18:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * function.c (keep_stack_depressed): Check global_live_at_start
+ of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
+
+2001-12-05 David O'Brien <obrien@FreeBSD.org>
+
+ * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
+ as set by the generic FreeBSD configure framework.
+
+2001-12-04 Jason Merrill <jason@redhat.com>
+
+ * langhooks.h (struct lang_hooks_for_tree_inlining): Add
+ start_inlining, end_inlining.
+ * tree-inline.c (expand_call_inline): Call them.
+ * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
+ (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
+ (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
+ * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
+ (lhd_tree_inlining_end_inlining): New fn.
+
+2001-12-05 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-common.c (shadow_warning): New function, moved from cp/decl.c.
+ * c-common.h (shadow_warning): New.
+ * c-decl.c: Include c-common.h.
+ (warn_if_shadowing): New, broken out of pushdecl.
+ (pushdecl): Use warn_if_shadowing.
+ (store_parm_decls): Prevent duplicate -Wshadow warnings.
+
+Wed Dec 5 17:59:19 2001 Douglas B. Rupp <rupp@gnat.com>
+
+ * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
+ (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
+ (LIB_SPEC): Remove.
+
+Wed Dec 5 16:03:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
+ (QUAL_UNION_TYPE): New type.
+
+ * varasm.c (output_constant, case ERROR_MARK): New case.
+
+ * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
+ (c_com): Delete its reference.
+ * builtins.c: Delete memory checking code.
+ * calls.c, expr.c, function.c, stmt.c: Likewise.
+ * builtins.c (expand_builtin_arg_info): Remove reference to
+ EXPAND_MEMORY_USE_* modifiers.
+ * explow.c (expr_size): Likewise.
+ * expr.c (expand_expr, expand_increment): Likewise.
+ * expr.h (ARGS_SIZE_RTX): Likewise.
+ * function.c (assign_parms, expand_pending_sizeso): Likewise.
+ * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
+ * expr.c (in_check_memory_usage): Delete.
+ (get_push_address, get_memory_usage_from_modifier): Delete.
+ (expand_assigment): Use EXPAND_WRITE on destination.
+ (expand_expr): Delete ro_modifier.
+ * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
+ add EXPAND_WRITE.
+ (memory_use_mode): Delete.
+ * flags.h (flag_check_memory_usage): Deleted.
+ (flag_prefix_function_name): Likewise.
+ * function.c (expand_function_start): Don't set
+ current_function_check_memory_usage.
+ * function.h (check_memory_usage): Delete.
+ * libfuncs.h, optabs.c: Delete chkr_* stuff.
+ * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
+ EXPAND_WRITE.
+ * toplev.c (flag_check_memory_usage): Deleted.
+ (flag_prefix_function_name): Likewise.
+ (f_options, process_options): Delete references to above.
+ * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
+ * varasm.c (CHKR_PREFIX): Deleted.
+ (make_decl_rtl): Remove flag_prefix_function_name handling.
+ (assemble_name): Likewise.
+ * doc/extend.texi: Remove no_check_memory_usage attribute.
+ * doc/invoke.texi: Remove -fcheck-memory-usage
+ and -fprefix-function-name.
+
+2001-12-05 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
+ from autoconf.
- * m68k.md (indirect_jump): Use address_operand as predicate.
+2001-12-05 Nick Clifton <nickc@cambridge.redhat.com>
- * c-decl.c (finish_decl): Do the pop_obstacks sooner, when it's
- time to start allocating in the ambient context's obstack.
- Don't call permanent_allocation unless got back to permanent obstack.
+ * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
-Sun Sep 27 13:06:19 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-12-05 William Cohen <wcohen@redhat.com>
- * function.c (assign_parms): If PROMOTE_FUNCTION_ARGS is defined,
- see if the incoming register should be used in a wider mode.
- (expand_function_start): Likewise for return value if
- PROMOTE_FUNCTION_RETURN is defined.
- * calls.c (struct arg_data): New field unsignedp.
- (expand_call): Handle PROMOTE_FUNCTION_ARGS and
- PROMOTE_FUNCTION_RETURN.
+ * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
+ instruction.
- * alpha.h (FUNCTION_VALUE): Promote mode for return value.
+2001-12-05 Daniel Berlin <dan@cgsoftware.com>
- * alpha.h (BYTE_LOADS_SIGN_EXTEND): Define.
+ * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
+ builtins.
+
+ * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
+ better reflect reality (change from Apple's tree).
+ Add more of altivec instructions.
+ Add ftruncv4sf2 pattern.
+ Remove more unspecs (vector merge instructions, etc).
+
+ * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
+ builtins.
+ (bdesc_1arg): New, for 1 argument altivec builtins.
+ (altivec_expand_builtin): Handle unary and ternary ops.
+ (altivec_init_builtins): Ditto.
+
+Wed Dec 5 09:33:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
+ * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
+
+2001-12-05 Jakub Jelinek <jakub@redhat.com>
+
+ * gcse.c (store_killed_in_insn): Consider pure calls
+ as potential store killers in addition to normal calls.
+
+2001-12-05 Jakub Jelinek <jakub@redhat.com>
+
+ * expr.c (expand_expr): When checking promoted value, use
+ DECL_MODE (exp) and not mode.
+
+2001-12-05 Jakub Jelinek <jakub@redhat.com>
+
+ * c-typeck.c (output_init_element): Call digest_init
+ just once, not in each if branch and check its return value for
+ error_mark_node.
- * rs6000.md (subsi3): Don't bother calling negate_rtx for constant;
- we shouldn't be called with a constant.
- (maskir patterns): Don't mention an operand before it is used;
- use operand number 1 for operand with '0' constraint.
- (allocate_stack): Use reg_or_short_operand for predicate of
- allocation amount; use negate_rtx and always make a PLUS.
+2001-12-05 Jakub Jelinek <jakub@redhat.com>
- * romp.h (EXTRA_CONSTRAINT, case 'Q'): Check for MEM instead of
- calling memory_operand.
- (SHIFT_COUNT_TRUNCATED): No longer define this.
+ * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
+ type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
+ (finish_struct): Break the loop if n_incomplete went to 0.
+ For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
-Sat Sep 26 18:14:15 1992 Michael Meissner (meissner@osf.org)
+Wed Dec 5 07:41:13 2001 Douglas B. Rupp <rupp@gnat.com>
- * config.sub (os handling): Recognize riscos as an operating
- system.
+ * config/alpha/alpha.c (alpha_va_start): Update VMS case.
- * configure (dec-osf1): Use x-decstatn for xmake_file.
- (mips computers): Handle RISC-OS 5 vs. RISC-OS 4 configuration
- changes -- RISC-OS 5. passes -non_shared by default.
+Wed Dec 5 07:27:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Douglas B. Rupp <rupp@gnat.com>
- * mips-5.h (new file): RISC-OS rev 5 config file.
- * mips-5bsd.h (new file): RISC-OS rev 5, bsd 4.3 config file.
- * mips-5g4.h (new file): RISC-OS rev 5, svr4 + stabs config file.
- * mips-5gbsd.h (new file): RISC-OS rev 5, bsd 4.3 + stabs config file.
- * mips-5gdb.h (new file): RISC-OS rev 5 + stabs config file.
- * mips-5gsysv.h (new file): RISC-OS rev 5 svr3 + stabs config file.
- * mips-5svr4.h (new file): RISC-OS rev 5 svr4 + stabs config file.
- * mips-5sysv.h (new file): RISC-OS rev 5 svr3 config file.
+ * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
+ * doc/invoke.texi: Add -gvms.
+ * doc/passes.texi: Add mention of vmsdbgout.c.
+ * doc/tm.texi: Document VMS debugging output.
- * dec-osf1.h (LINK_SPEC): Pass -non_shared to linker unless
- -shared was passed.
- (SIZE_TYPE): Define as long unsigned int.
- (PTRDIFF_TYPE): Define as int.
- (WCHAR_TYPE_SIZE): Define as SHORT_TYPE_SIZE.
+Wed Dec 5 06:26:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * decrose.h (MACHINE_TYPE): Shorten verbage.
+ * function.h (tree, rtx): Remove no-longer-needed definitions.
- * i386rose.h (TARGET_VERSION): Print appropriate information.
+ * function.c (keep_stack_depressed): Refine check for register
+ clobbered over call.
- * xm-mips.h (HAVE_VFPRINTF, HAVE_PUTENV): Define on DEC OSF/1.
+ * expr.c (store_expr): When copying string constant into array,
+ use functions that update memrefs instead of computations on
+ addresses to better track MEMs. Also properly handle 32/64 pointers.
+ (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
+ (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
- * mips.c (siginfo): Print just current filename, and function
- being compiled.
+ * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
+ underneath COMPONENT_REFs.
+ (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
- * mips-tfile.c (Size_t): Use long unsigned on OSF/1.
- (toplevel): Don't define rindex and index on OSF/1.
+2001-12-05 Neil Booth <neil@daikokuya.demon.co.uk>
-Sat Sep 26 17:46:57 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+ * toplev.c (display_target_options): Don't print twice.
- * arm.md (comment before extendhisi2): Remove the lie.
- (zero_extendhisi2): Rewrite to work if op0 == op1. Use
- gen_lowpart in preparation code.
- (extendqisi2, extendhisi2): Likewise.
- (extendqihi2): Expand.
+Wed Dec 5 00:42:16 EST 2001 John Wehle (john@feith.com)
- * arm.md (restorehi): Rewrite for correctness, efficiency, and
- clarity. Avoid generating insns involving truncate. Generate
- needed pseudos in preparation statements.
- (storehi): Likewise.
- (storeinthi): Likewise.
- (movhi): Call gen_storehi, gen_restorehi, gen_storeinthi according
- their new definitions. Use force_reg to put address in register.
+ * emit-rtl.c (set_unique_reg_note): Don't set
+ a REG_EQUAL or REG_EQUIV note if multiple sets
+ are present.
- * m68k.md (indirect_jump): Use %a0 for output, and p for constraint.
+2001-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
-Sat Sep 26 02:42:42 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
+ CASE_DROPS_THROUGH.
- * reload1.c (eliminate_regs_in_insn): Rerecognize if move insn
- becomes a non-move.
+2001-12-04 Andrew MacLeod <amacleod@redhat.com>
- * Makefile.in (install-fixincludes):
- Use - when making syslimits.h; fix if-statement syntax.
+ * rtl.h (initialize_uninitialized_subregs): New prototype.
+ * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
+ when optimization is on.
+ * flow.c (find_regno_partial): Find subregs within an expression.
+ (initialize_uninitialized_subregs): Initialize live on entry registers
+ which are used in subreg expressions.
- * jump.c (jump_optimize): When handling dispatch table that always
- goes to the same place, verify previous insn exists.
+2001-12-04 Phil Edwards <pme@gcc.gnu.org>
- * c-typeck.c (common_type): Renable code to merge qualifiers
- given two pointers to compatible types.
+ * Makefile.in: Add INSTALL_SCRIPT using INSTALL definition.
-Sat Sep 26 12:02:38 PDT 1992 Ron Guilmette (rfg at netocm.com)
+2001-12-04 DJ Delorie <dj@redhat.com>
- * dwarfout.c (location_attribute): If DECL_RTL looks like (MEM pseudo),
- treat that variable as optimized away.
+ * fixinc/fixincl.c (initialize): Avoid problemsome macro
+ parameter names (PR 3388).
-Fri Sep 25 19:48:46 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-05 Alan Modra <amodra@bigpond.net.au>
- * c-decl.c (explicit_flag_signed_bitfields): New variable.
- (c_decode_option): Set that for -f[un]signed-bitfields.
- (grokdeclarator): If that's set, and -fsigned-bitfields,
- disregard -traditional when handling bitfield signedness.
+ * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
+ * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
- * configure: Handle --build option. Make link hconfig.h.
- * Makefile.in: In the targets such as $(HOST_PREFIX_1)rtl.o,
- use sed to make them include hconfig.h instead of config.h.
- (distclean): Add command to delete hconfig.h.
+2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
-Fri Sep 25 19:56:35 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
+ * c-common.def (COMPOUND_LITERAL_EXPR): New.
+ * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
+ (c_staticp): New function.
+ * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
+ (c_staticp): Declare.
+ * c-typeck.c (default_function_array_conversion, build_unary_op):
+ Don't handle CONSTRUCTOR specially.
+ (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
+ * c-decl.c (build_compound_literal): New function.
+ * c-tree.h (build_compound_literal): Declare.
+ * c-parse.in (primary): Use build_compound_literal.
+ * c-lang.c (LANG_HOOKS_STATICP): Define.
+ * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
+ * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
+ * doc/extend.texi: Update documentation of compound literals.
+ Fixes PR c/4787.
- * cp-search.c (compute_visibility): Don't mess with the context.
+2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
- * cp-decl.c (grokdeclarator): Return value from do_friend
- properly; this shouldn't have gone in yet.
+ * langhooks.h (struct lang_hooks): Add staticp.
+ * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
+ (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
+ * langhooks.c (lhd_staticp): New function.
+ * tree.c (staticp): Call lang_hooks.staticp for language-specific
+ tree codes.
-Fri Sep 25 02:23:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-12-04 Neil Booth <neil@daikokuya.demon.co.uk>
- * c-typeck.c (initializer_constant_valid_p): Really use endtype.
+ * cppspec.c (lang_specific_driver): Set is_cpp_driver.
+ * gcc.c (process_command): Ensure the cpp driver sees
+ --help and --target-help, and that the help is printed
+ exactly once.
- * cccp.c (do_include): "Concatenate" multiple "strings" in #include.
+2001-12-04 David Edelsohn <edelsohn@gnu.org>
- * vmsconfig.com: Renamed from configure.com.
+ * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
- * next.h (CPP_PREDEFINES): Define __ARCHITECTURE__.
+2001-12-04 Hans-Peter Nilsson <hp@axis.com>
- * dbxout.c (dbxout_symbol): For anonymous enum, output type anyway.
+ * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
+ flag_strict_aliasing. Use separate assignment statements.
-Fri Sep 25 01:33:36 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+2001-12-04 Zack Weinberg <zack@codesourcery.com>
- * function.h (struct function): Add epilogue_delay_list field.
- * function.c (push_function_context): Save epilogue_delay_list.
- (pop_function_context): Restore epilogue_delay_list.
+ * build-make, cross-make: Delete file.
+ * configure.in: Set and substitute CROSS, ALL,
+ SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
+ HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
+ whether build == host and host == target. Do not
+ AC_SUBST_FILE build_overrides or cross_overrides. Do not
+ AC_SUBST cross_defines or extra_c_flags.
+ * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
+ (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
+ HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
+ partially or completely with autoconf-substituted @variable@
+ notation.
+ (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
+ @build_overrides@, @extra_c_flags@, all.build, install-build,
+ install-cross-rest, install-float-h-cross): Deleted.
+ (install-normal): Rename to install. Delete old "install"
+ indirection rule.
- * sparc.md (nonlocal_goto): Force operands[0] to be a register.
+2001-12-04 Andrew MacLeod <amacleod@redhat.com>
- * va-sparc.h (va_arg): Add 3 more (void *) casts to avoid warnings
- with -Wcast-align.
+ * stmt.c (expand_return): Clear destination instead of clobbering it
+ when setting a return value via bitsets.
- * sparc.c (SF_MODES): Accept all single word or smaller integer
- modes not just SImode. These are needed for fix/float conversions.
+2001-12-04 Alexandre Oliva <aoliva@redhat.com>
- * sched.c (sched_analyze_2, PRE_DEC case): Call sched_analyze_2 in
- addition to sched_analyze_1.
+ * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
+ it has DECL_SAVED_TREE.
- * va-i960.h (va_start): Must access anonymous arg as offset from
- start of argument block.
+ * c-decl.c (duplicate_decls): Revert rth's patch. If newdecl
+ is in a different binding level, get its abstract origin to be
+ olddecl.
+ * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
+ check earlier.
+ * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
+ DECL_INITIAL is NULL.
- * i960.md (movdi, movti, movdf, movtf): Make store zero to memory
- a separate case, only accept offsettable memory addresses, and call
- adj_offsettable_operand to calculate subword addresses.
+2001-12-04 Jakub Jelinek <jakub@redhat.com>
- * i960.c (i960_output_ldconst): Pass missing xoperands argument to
- output_asm_insn call.
+ * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
+ Return correct value if one of the subexpressions was optimized to
+ 0 resp. 1. Optimize (x | A) | x and (x & A) | x.
+ (and_reg_cond): Similarly.
- * a29k.md (movti): Split CONST_INTs into 4 moves, and force all
- other constants to memory.
+2001-12-04 Jakub Jelinek <jakub@redhat.com>
-Thu Sep 24 21:51:46 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
+ * function.c (assign_parms): Set last_named only for last named
+ argument.
- Complete Cygnus<-->FSF merge.
+2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/install.texi: Use the GFDL. Include years from old install
+ manual in copyright notice. Include copyright and GFDL notice on
+ HTML index page. Include usual footer on testing.html.
+ * doc/install.texi2html: Build gfdl.html. Use -I
+ $SOURCEDIR/include.
+ * doc/include/fdl.texi: Adapt for use in the install manual.
+
+2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/install.texi: Document that installed native compiler for
+ building cross compilers should be GCC 2.95 or later.
+
+2001-12-03 Eric Christopher <echristo@redhat.com>
- Thu Sep 24 17:05:27 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+ * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
+ * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
+ patterns.
- * cp-decl.c (pushdecl): Use a friendly abort rather than an assert.
- (grokparms): Pass whether init is set or not for the initialized
- parameter to grokdeclarator.
+2001-12-03 Janis Johnson <janis187@us.ibm.com>
+
+ * rtl.def (PREFETCH): New rtx code.
+ * doc/rtl.texi (PREFETCH): Add documentation.
+ * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
+ * rtlanal.c (reg_referenced_p): Ditto.
+ * sched-vis.c (print_exp): Ditto.
+ * ssa-dce.c (find_inherently_necessary): Ditto.
+
+ * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
+ (PREFETCH_BLOCK): Define.
+ * config/ia64/ia64.md (itanium_class): Add lfetch.
+ (prefetch, prefetch_internal): New.
+
+ * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
+ * builtins.def (BUILT_IN_PREFETCH): New.
+ * builtins.c (expand_builtin_expect): New.
+ (expand_builtin): Call it.
+ * doc/extend.texi: Document __builtin_prefetch.
+
+ * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
+ conflicts with new generic prefetch functionality.
+ * config/i386/i386.c (ix86_expand_builtin): Use new name for
+ prefetch_sse.
+
+2001-12-02 Ziemowit Laski <zlaski@apple.com>
+
+ * objc/Make-lang.in: Update copyright.
+ (OBJC_OBJS): Add objc-lang.o.
+ (objc-lang.o): New rule.
+ * objc/config-lang.in: Fix file description and update
+ copyright.
+ * objc/objc-act.c: Do not include langhooks.h and
+ langhooks-def.h
+ (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
+ (objc_post_options): Move to objc-lang.c.
+ (objc_init_options): Move to objc-lang.c.
+ (objc_init): Make non-static.
+ (objc_decode_option): Make non-static.
+ (HASHFUNCTION): Remove macro.
+ (hash_func): New function.
+ (hash_enter): Replace HASHFUNCTION with hash_func.
+ (hash_lookup): Replace HASHFUNCTION with hash_func.
+ (maybe_objc_tree_codes): New function.
+ (init_objc): Move ObjC tree code initialization to
+ maybe_objc_tree_codes().
+ * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
+ (objc_init): New public prototype.
+ (objc_decode_option): New public prototype.
+ (maybe_add_objc_tree_codes): New public prototype.
+ * objc/objc-lang.c: New file.
+ (lang_hooks): Moved from objc-act.c.
+ (objc_post_options): Moved from objc-act.c.
+ (objc_init_options): Moved from objc-act.c.
+
+2001-12-03 Geoff Keating <geoffk@redhat.com>
+
+ * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
+ of array elements.
+
+2001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ PR c/4988
+ * gcc.c (process_command): Don't add a preprocessor option for
+ --help and --target-help; cc1 is enough.
+
+2001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-decl.c (grokdeclarator): Use ISO word.
+ * cppinit.c: Remove leading capital from diagnostic messages, as
+ per GNU coding standards.
+ * emit-rtl.c: Similarly.
+ * final.c: Similarly.
+ * gcc.c: Similarly.
+ * tradcpp.c: Similarly.
+ * config/arm/arm.c: Similarly.
+ * config/arm/arm.h: Similarly.
+ * config/avr/avr.c: Similarly.
+ * config/avr/avr.h: Similarly.
+ * config/c4x/c4x.c: Similarly.
+ * config/cris/cris.c: Similarly.
+ * config/cris/cris.h: Similarly.
+ * config/d30v/d30v.c: Similarly.
+ * config/dsp16xx/dsp16xx.c: Similarly.
+ * config/dsp16xx/dsp16xx.h: Similarly.
+ * config/h8300/h8300.c: Similarly.
+ * config/i386/i386.c: Similarly.
+ * config/i386/xm-djgpp.h: Similarly.
+ * config/i960/i960.h: Similarly.
+ * config/m32r/m32r.c: Similarly.
+ * config/m68hc11/m68hc11.c: Similarly.
+ * config/m88k/m88k.c: Similarly.
+ * config/m88k/m88k.h: Similarly.
+ * config/mcore/mcore.c: Similarly.
+ * config/mcore/mcore.h: Similarly.
+ * config/mips/mips.c: Similarly.
+ * config/mmix/mmix.c: Similarly.
+ * config/pa/pa.c: Similarly.
+ * config/rs6000/rs6000.c: Similarly.
+ * config/rs6000/sysv4.h: Similarly.
+ * config/s390/s390.c: Similarly.
+ * config/sparc/sparc.c: Similarly.
+ * config/v850/v850-c.c: Similarly.
+ * config/v850/v850.c: Similarly.
+
+2001-12-03 Zack Weinberg <zack@codesourcery.com>
+
+ * rs6000.h (RETURN_IN_MEMORY): Cast result of
+ int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
+
+Mon Dec 3 09:18:34 2001 Jeffrey A Law (law@cygnus.com)
+
+ * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
+ bit twiddling constant.
+
+Mon Dec 3 16:16:37 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
+ call purge_dead_edges after removing.
+ (delete_null_pointer_checks): Do not handle delete_list.
+
+ * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
+ (count_basic_blocks): ... here.
+ (find_basic_blocks, find_bb_boundaries): Cleanup.
+
+ * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
+ overflow for types greater then 2 * HOST_WIDE_INT.
+
+ * reload.c (find_reloads): Update the duplicates after swapingg.
+
+Mon Dec 3 13:52:19 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
+
+2001-12-02 Zack Weinberg <zack@codesourcery.com>
+
+ * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
+ MASK_LONG_DOUBLE_128): Delete.
+ (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
+ TARGET_AIX_STRUCT_RET): New flags.
+ (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
+ -mlong-double-64. Add entries for -m(no-)aix-struct-return
+ and -m(no-)svr4-struct-return.
+ (TARGET_OPTIONS): Add entry for -mlong-double-.
+ (rs6000_long_double_size_string, rs6000_long_double_type_size,
+ rs6000_altivec_abi): Declare.
+ (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
+ LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
+ (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
+ structures of size <= 8 bytes in registers.
+ (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
+
+ * config/rs6000/rs6000.c (rs6000_long_double_size_string,
+ rs6000_long_double_type_size, rs6000_altivec_abi): New
+ globals.
+ (rs6000_override_options): Set rs6000_long_double_type_size
+ from rs6000_long_double_size_string, if nonzero. Set the
+ MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
+ not already set.
+ (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
+ target_flags bit.
+ (rs6000_init_builtins): This hook now takes no arguments.
+
+ * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
+ DRAFT_V4_STRUCT_RET to 1.
+
+2001-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-typeck.c (really_start_incremental_init, push_init_level):
+ Avoid constructor_max_index being other than an INTEGER_CST.
+
+2001-12-02 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
+ unsigned.
+ (ASM_GENERATE_INTERNAL_LABEL): Same.
+ (UNIQUE_SECTION): Fix typo.
+
+2001-12-02 Richard Henderson <rth@redhat.com>
+
+ * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
+
+2001-12-02 Richard Henderson <rth@redhat.com>
+
+ * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
+ (MEM_EXPR): Rename from MEM_DECL; adjust all users.
+ * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
+ * expr.h, final.c, reload1.c: Adjust users.
+
+ * alias.c (nonoverlapping_component_refs_p): New.
+ (decl_for_component_ref, adjust_offset_for_component_ref): New.
+ (nonoverlapping_memrefs_p): Use them.
+ * emit-rtl.c (component_ref_for_mem_expr): New.
+ (set_mem_attributes): Use it.
+ (set_mem_offset): New.
+ * expr.c (expand_assignment): Call set_mem_attributes for
+ inner references; adjust the memory offset as needed.
+ * print-rtl.c (print_mem_expr): New.
+ (print_rtx): Use it.
+
+Sun Dec 2 09:22:25 2001 Douglas B. Rupp <rupp@gnat.com>
+
+ * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
+
+ * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
+ (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
+ (ASM_SPEC): Don't redefine.
+ (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
+ * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
+ * config/alpha/vms-dwarf2.asm: New file.
+
+ * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
+ * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
+ * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
+ (vmsdbgout_after_prologue): New declaration.
+ * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
+ * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
+ * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
+ (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
+ (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
+ (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
+ * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
+ Test VMS_DEBUGGING_INFO.
+ (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
+ (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
+ * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
+ * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
+ VMS_AND_DWARF2_DEBUG.
+ (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
+ (decode_g_option): Add "vms" to debug_type_names.
+ (process_options): Set vmsdbg_debug_hooks if -gvms.
+ (lang_independent_init): Emit line number for VMS unless -g0.
+ * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
+ * vmsdbg.h, vmsdbgout.c: New files.
+
+Sun Dec 2 09:03:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
+
+2001-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * cfgrtl.c (purge_all_dead_edges): Initialize variable.
+ * dwarf2out.c (is_cxx): Prototype.
+ * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
+ warning.
+ * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
+
+Sun Dec 2 07:12:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * libgcc2.c (__bb_exit_func): Fix line wrap problems.
+
+2001-12-02 Geoff Keating <geoffk@redhat.com>
+
+ * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
+ * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
+ rather than simplify_subreg. Check for volatile-ness. Check that
+ we're not splitting one slow operation into two slow operations.
+
+2001-12-02 David Edelsohn <edelsohn@gnu.org>
+
+ * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
+ before shifting.
+
+2001-12-02 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
+ capital from diagnostics.
+ * c-lex.c (cb_file_change): Similarly.
+ * c-parse.in : Similarly.
+ * cfgrtl.c (verify_flow_info): Similarly.
+ * collect2.c: Similarly.
+ * cppfiles.c (find_include_file): Similarly.
+ * cppinit.c (cpp_handle_option): Similarly.
+ * cpplex.c (cpp_spell_token): Similarly.
+ * cppmain.c (do_preprocessing): Similarly.
+ * gcc.c (translate_options, process_command, do_spec1,
+ main, pfatal_execute): Similarly.
+ * genattr.c (main): Similarly.
+ * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
+ write_test_expr, main): Similarly.
+ * gencodes.c (main): Similarly.
+ * genconfig.c (main): Similarly.
+ * genconstants.c (main): Similarly.
+ * genemit.c (main): Similarly.
+ * genextract.c (main): Similarly.
+ * genflags.c (main): Similarly.
+ * genopinit.c (main): Similarly.
+ * genoutput.c (process_template, main): Similarly.
+ * genpeep.c (main): Similarly.
+ * genrecog.c (main): Similarly.
+ * gensupport.c (is_predicable, identify_predicable_attribute,
+ alter_predicate_for_insn, init_md_reader_args, main): Similarly.
+ * ggc-page.c (alloc_anon): Similarly.
+ * mips-tfile.c (add_string, add_procedure, add_file, read_line,
+ parse_begin, parse_bend, parse_def, parse_end, parse_file,
+ parse_stabs_common, parse_stabs, write_varray, write_object,
+ read_seek, copy_object, main, error): Similarly.
+ * profile.c (compute_branch_probabilities): Similarly.
+ * reg-stack.c (check_asm_stack_operands): Similarly.
+ * reload.c (find_reloads): Similarly.
+ * reload1.c (spill_failure, failed_reload): Similarly.
+ * rtl-error.c (_fatal_insn_not_found): Similarly.
+ * toplev.c (read_integral_parameter, crash_signal,
+ decode_f_option, set_target_switch, parse_options_and_default_flags)
+ : Similarly.
+ * tradcif.y (parse_number, yylex): Similarly.
+ * tradcpp.c (main, fancy_abort): Similarly.
+ * tree.c (tree_check_failed): Similarly.
+ * varray.c (varray_check_failed): Similarly.
+ * xcoffout.c (xcoff_output_standard_types): Similarly.
+objc:
+ * objc-act.c (get_object_ref, lookup_and_install_protocols,
+ build_objc_string_object, objc_declare_alias, build_ivar_chain,
+ finish_message_expr, build_protocol_expr, is_public,
+ start_class): Similarly.
+
+2001-12-01 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
+ trailing period from diagnostics.
+ * c-lex.c (cb_file_change): Similarly.
+ * cppmacro.c (check_trad_stringification): Similarly.
+ * gcc.c (do_spec_1): Similarly.
+ * genattr.c (main): Similarly.
+ * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
+ * gencodes.c (main): Similarly.
+ * genconfig.c (main): Similarly.
+ * genconstants.c (main): Similarly.
+ * genemit.c (main): Similarly.
+ * genextract.c (main): Similarly.
+ * genopinit.c (main): Similarly.
+ * genoutput.c (main): Similarly.
+ * genpeep.c (main): Similarly.
+ * genrecog.c (main): Similarly.
+ * mips-tfile.c (add_file, error): Similarly.
+ * profile.c (init_branch_prob): Similarly.
+ * reload1.c (spill_failure): Similarly.
+ * stmt.c (parse_output_constraint): Similarly.
+ * varasm.c (assemble_variable): Similarly.
+
+2001-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * m68k.c (init_FPA_table): Provide static prototype.
+ * mips/abi64.h (mips_function_value): Move prototype to ...
+ * mips-protos.h (mips_function_value): ... here.
+ * mips.c: Include halfpic.h.
+ * output.h (rdata_section): Prototype.
+
+ * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
+ * m88k.c (m88k_svr3_asm_out_constructor,
+ m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
+ !OBJECT_FORMAT_ELF.
+ * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
+ * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
+ * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
+
+2001-12-01 Geoff Keating <geoffk@redhat.com>
+
+ * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
+ LO_SUM addresses less than word size are not legitimate,
+ because they lead to invalid SUBREGs.
+ * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
+
+2001-12-01 Olivier Hainque <hainque@act-europe.fr>
+
+ * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
+ while scanning for multiple back edges.
+
+2001-12-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
+ * config/rs6000/tramp.asm: Use it.
+
+2001-12-01 Zack Weinberg <zack@codesourcery.com>
+
+ * gencheck.c, gengenrtl.c: Don't define xmalloc.
+ * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
+ xmalloc.
+
+2001-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.c (output_ascii): Cast `p' to unsigned char.
+
+2001-11-30 Daniel Berlin <dan@cgsoftware.com>
+
+ * config/rs6000/rs6000.c (altivec_expand_builtin): add
+ ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
+ *_16qi,_8hi, rename existing V4SI ones to *_4si.
+ (altivec_init_builtins): Ditto.
+ (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
+
+ * config/rs6000/rs6000.md: Add attribute types vecsimple,
+ veccomplex, vecfloat, and vecperm, for altivec instructions.
+ Modify altivec patterns to use appropriate attribute type.
+ Modify altivec patterns to match RTL operations where appropriate
+ (IE no unspec where we can avoid it).
+ Add vector unit scheduling for ppc7450.
+ Rename patterns to what they are where appropriate
+ (altivec_vaddfp->addv4sf3, etc)
+
+ * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
+ Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
+
+ * config/rs6000/sysv4.h: Add -mcpu=7450.
- Wed Sep 23 22:09:44 1992 Mike Stump (mrs@cygnus.com)
+ * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
+ _builtin_altivec_ld_interal function.
- * cp-class.c (finish_struct), cp-decl2.c (warn_nonvdtor),
- cp-tree.c (layout_basetypes), cp-tree.h (warn_nonvdtor): Re-enable
- warnings for non-virtual destructors in some situations.
+2001-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- Wed Sep 23 15:42:33 1992 Mike Stump (mrs@cygnus.com)
+ * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
+ strchr, strrchr, isascii, gettimeofday.
+ * config.in, configure: Regenerate.
- Wed Sep 23 16:31:27 1992 Michael Meissner (meissner@osf.org)
+2001-11-30 Zoltan Hidvegi <hzoli@hzoli.2y.net>
- * cp-decl.c (duplicate_decls): Cast bcopy arguments to char * to
- avoid warning on OSF/1.
+ * unroll.c (unroll_loop): Correct special exit cases.
- Wed Sep 23 11:36:44 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+2001-11-30 Stephane Carrez <Stephane.Carrez@sun.com>
- * cp-decl.c (start_method): Give the name of the class if a method's
- being defined again, rather than say "aggregate scope".
- * cp-decl2.c (grokfield, grokbitfield, groktypefield): Ditto.
+ * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
+ accept DFmode and DImode only.
- Tue Sep 1 22:55:59 1992 Paul Eggert (eggert@twinsun.com)
+2001-11-30 Aldy Hernandez <aldyh@redhat.com>
- * cp-cvt.c (convert_to_integer): Prefer unsigned
- arithmetic if the output type is unsigned and is no more precise than
- the computation type. This avoids unnecessary sign extension.
+ * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
+ (STACK_DYNAMIC_OFFSET): Same.
- Tue Sep 15 20:26:18 1992 John F Carr (jfc at Athena.MIT.EDU)
+2001-11-30 Richard Henderson <rth@redhat.com>
- * cp-pt.c (tsubst): Don't call layout_type near start of function
- with T. const and volatile attributes don't affect the memory
- structure of the type, and T may not yet be a valid argument for
- layout_type (for example, if it is an uninstantiated template).
- Individual switch cases will call layout_type if necessary.
+ * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
- Mon Sep 21 15:59:22 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+2001-11-30 Aldy Hernandez <aldyh@redhat.com>
- * cp-decl.c (pushdecl): Check if DECL_SOURCE_LINE is non-zero, not
- if DECL_IGNORED_P is set, when checking for shadowing. We no longer
- need DECL_IGNORED_P on builtin types.
- (record_builtin_type): Don't set DECL_IGNORED_P for a builtin type.
+ * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
+ (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
+ the values in call_used_registers.
- * cp-decl.c (start_decl): When working with virtual functions,
- always use the node's DECL_CLASS_CONTEXT.
- * cp-method.c (hack_identifier): Ditto.
- * cp-search.c (compute_visibility): Ditto.
+Fri Nov 30 12:48:26 2001 Jeffrey A Law (law@cygnus.com)
- * cp-decl.c (grokdeclarator): Don't allow a member to be declared
- extern.
+ * gthr-dce.h: If _DCE_THREADS is not defined, then just include
+ gthr-single.
- * cp-decl.c (grokdeclarator): Return a void_type_node if we're
- looking at a friend (even after calling do_friend).
- (pushdecl): Disable some code that's untested and
- doesn't necessarily help DWARF right now.
- (finish_function): Always emit debugging info for the
- return type of a function.
- (pushdecl): Don't change the DECL_CONTEXT of virtual
- methods.
- (finish_enum): Always output debugging info for enums.
- (grokdeclarator): It's an error if we're doing an init of an extern
- at the top level. If we are at the top level, just warn.
-
- * cp-typeck.c (comp_target_parms): Check if strict is non-zero, not
- just > 0.
- (build_function_call_real): Don't return an error-mark node when
- they call "main" from within the fn, it's only a pedantic warning.
- (pointer_int_sum): Reword warning when using a ptr-to-mem in arith.
-
- * cp-tree.c (layout_basetypes): Make record_align and const_size
- unsigned.
+2001-11-30 Jason Merrill <jason@redhat.com>
- Mon Sep 21 14:53:43 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+ * dwarf2out.c (is_cxx): New fn.
+ (add_data_member_location_attribute): Check it.
+ * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
- * cp-tree.h (flag_no_ident): Add extern decl for cp-lex.c.
+Fri Nov 30 08:26:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * cp-decl.c (duplicate_decls): Save the DECL_UID and DECL_FRIEND_P
- info from olddecl. Otherwise, they'd get clobbered when newdecl's
- contents get copied into olddecl.
+ * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
- * cp-lex.c (check_newline): Delete pedantic error about using #ident,
- since cccp.c already gives a warning. In the case that
- ASM_OUTPUT_IDENT is defined, only actually spit it out if flag_no_ident
- is not set.
+2001-11-30 Daniel Berlin <dan@cgsoftware.com>
- Sat Sep 19 14:53:31 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+ * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
+ MODE_VECTOR_FLOAT as allowed.
- Sat Sep 19 11:37:11 1992 John F Carr (jfc at Athena.MIT.EDU)
+2001-11-29 Zack Weinberg <zack@codesourcery.com>
- * cp-decl.c (finish_decl): Don't call
- CLASSTYPE_DECLARED_EXCEPTION if TYPE is error_mark_node, to avoid
- referencing a nonexistent field.
+ Purge cruft now we have build libiberty.
- Fri Sep 18 14:06:06 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+ * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
+ HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
+ USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
+ USE_HOST_STRSTR): Delete variables.
+ (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
+ hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
+ $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
+ $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
+ (LIBIBERTY, BUILD_LIBIBERTY): New variables.
+ (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
+ (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
+ (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
+ (HOST_LIBS): Ditto.
+ (HOST_RTL): Remove hashtab.o safe-ctype.o.
+ (OBJS): Remove splay-tree.o.
+ (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
+ (distclean): No need to delete splay-tree.c obstack.c
+ hashtab.c safe-ctype.c.
+ (mostlyclean): Delete build copies of print-rtl.c bitmap.c
+ errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
+ * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
+ Delete.
+ * configure.in: Don't use them.
+ Set and substitute @FORBUILD@.
+ * config.in, configure: Regenerate.
+ * doprint.c: Move to libiberty/_doprnt.c.
+ * doc/configterms.texi: Document that libiberty is now built
+ up to three times. Fix typo.
- * cp-parse.y (component_decl): Remove sorry about not implementing
- methods in anonymous unions---they're illegal, and we generate an
- error elsewhere to that effect.
+2001-11-30 Jason Merrill <jason@redhat.com>
- * cp-decl.c (start_method): Make the error message about a
- duplicated member a little more informative.
+ * dwarf2out.c (add_data_member_location_attribute): Do the
+ right thing for virtual bases.
+ * dbxout.c (dbxout_type): For a virtual base, print the offset
+ within the vtable.
- Fri Sep 18 12:28:13 1992 Brendan Kehoe (brendan at rtl.cygnus.com)
+2001-11-29 Zoltan Hidvegi <hzoli@hzoli.2y.net>
- * cp-parse.y: Define YYDEBUG if SPEW_DEBUG is defined.
- (debug_yytranslate): YYDEBUG will always be defined, no need to test.
+ * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
- Fri Sep 18 10:46:19 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+2001-11-29 Aldy Hernandez <aldyh@redhat.com>
- * cp-parse.y (unary_expr): When parsing delete, first complain if
- it's a non-pointer, then check if it's a pointer with the value zero.
- Also be sure not to call build_delete if that's the case.
+ * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
+ go in memory.
+ Remove unused attribute for named.
-Thu Sep 24 18:03:07 1992 Michael Meissner (meissner@osf.org)
+2001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * mips.h (MIPS_VERSION): Set Meissner version # to 27.
- (STRUCT_VALUE_REGNUM): Delete macro.
- (STRUCT_VALUE): Define as 0, so that structure return addresses
- are passed as the first argument. This fixes various codegen
- problems with functions returning structures.
+ * genattrtab.c (attr_rtx_1): New function containing the
+ majority of `attr_rtx'. Move variable declarations into the
+ scope where they are used. Eliminate unnecessary gotos.
+ (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
+ VA_FIXEDARG, and VA_CLOSE.
- * mips.c (init_cumulative_args): Don't advance arg pointer if
- function returns a structure.
+2001-11-30 Hans-Peter Nilsson <hp@axis.com>
-Thu Sep 24 12:38:31 1992 Torbjorn Granlund (tege@wombat.gnu.ai.mit.edu)
+ * config/cris/cris.c (cris_notice_update_cc): Check first
+ destination also against overlap with cc_status.value2 and second
+ destination against overlap with cc_status.value1. For overlaps,
+ clear overlapped value, don't just CC_STATUS_INIT.
- * pa.h (REGISTER_MOVE_COST): Fix typo. Use `||' instead of `|'.
- (REG_CLASS_FROM_LETTER): Don't handle 'r' constraints here.
- * pa.c (clobbered_register): Delete.
- (srcsi_operand): Return 1 also for things matching
- depi_cint_operand.
- (secondary_reload_class): Replace.
- * pa.md (ldo/ldil SImode and HImode recognizers): Use
- "const_int_operand" for operand 1 and simplify final condition.
- Remove `n' constraint.
- (depi SImode and HImode recognizers): Remove `n' constraint.
- (plus:SI ... high ... splitter): Don't overwrite input, go via
- clobber operand instead.
- (many patterns): Replace `in' constraint with just `i'.
- (movstrsi): Don't do (clobber (match_scratch)), use explicit
- pseudos instead, generated in preparation C code. Don't call
- force_not_mem for operand 2.
- (movstrsi recognizer): Add `&' to operand 3.
- (andsi3): Fix typo.
- (iorsi3): Fix typo.
- (load-shift-16): New optimizer.
- (load-shift optimizers): Set "type" attr.
+ * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
+ Fix typo in comment.
+ (LINK_SPEC): Remove whitespace at end of line.
-Thu Sep 24 15:17:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-11-29 Jakub Jelinek <jakub@redhat.com>
- * toplev.c (lang_options): Add Objc options.
+ * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
- * configure.bat: Use xgcc, not gcc.
+2001-11-29 Jakub Jelinek <jakub@redhat.com>
-Thu Sep 24 06:30:47 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
+ macros for the supported debugging types.
- * c-lex.c (yylex, case '"'): Initialize arg pased to readescape.
+2001-11-29 Craig Rodrigues <rodrigc@gcc.gnu.org>
- * genattrtab.c (length_used): New variable.
- (walk_attr_value): Set it when we have (eq_attr "length" ...).
- (write_const_num_delay_slots): Value is 1 unless LENGTH_USED is set.
+ PR other/4932
+ * config/i386/i386.c (print_operand): Verify that the
+ argument to %c is a constant and not a conditional which
+ needs to be reversed.
- * reorg.c (mark_set_resources, case CC0): Set RES->CC if IN_SEST.
+Thu Nov 29 11:12:59 2001 Geoffrey Keating (geoffk@redhat.com)
- * regclass.c (forbidden_inc_dec_class, in_inc_dec): New variables.
- (regclass): Don't alloca the costs twice.
- Initialize forbidden_inc_dec_class.
- For regs that have inc-dec, ignore forbidden classes.
- (record_address_regs): Update in_inc_dec.
+ * emit-rtl.c (gen_lowpart_common): Fix conversion of
+ REAL_VALUE_TYPEs to an array of target integers. Fix extraction
+ of low part of those arrays for 32bit and 64bit hosts.
-Thu Sep 24 02:36:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * syslimits.h: New file, includes system's limits.h.
- * limitx.h: Include syslimits.h instead of system's limits.h.
- * Makefile.in (USER_H): Add syslimits.h.
- (install-fixincludes): If we fix system's limits.h, install that
- as syslimits.h
+ * Makefile.in (insn-output.o): Depend on insn-codes.h.
- * c-lex.c (readescape): New arg ignore_ptr.
- (yylex): Pass new arg, handle result that comes back.
+2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
-Wed Sep 23 19:26:42 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * configure.in (target_list): Add generated-manpages.
+ * configure: Regenerate.
+ * Makefile.in (generated-manpages): Depend on
+ lang.generated-manpages.
+ * objc/Make-lang.in (objc.generated-manpages): New dummy target.
- * reload.c (find_reloads_address): Properly check for constant address.
+2001-11-29 Nick Clifton <nickc@cambridge.redhat.com>
- * cse.c (simplify_unary_operation, case SIGN_EXTEND): Use
- HOST_BITS_PER_WIDE_INT, not HOST_BITS_PER_INT.
+ * config/arm/crti.asm (_init): Add .thumb_func if compiled
+ with -mthumb.
+ (_fini): Add .thumb_func if compiled with -mthumb.
- * fold-const.c (fold_convert): Add missing cast to HOST_WIDE_INT.
+2001-11-28 Eric Christopher <echristo@redhat.com>
- * jump.c (jump_optimize): Tighten up test for when we can't
- delete a set of CC0.
- Don't insert insns between set and use of CC0.
+ * config/mips/mips.c (override_options): Fix thinko in mips_tune
+ for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
- * final.c (shorten_branches): Correctly access insn needing delay slot.
+Thu Nov 29 00:24:15 EST 2001 John Wehle (john@feith.com)
- * combine.c (significant_bits, num_sign_bit_copies): Handle SUBREGs
- made for promoted variables.
+ * alpha.md (tablejump): Use pic_offset_table_rtx
+ instead of gen_rtx_REG.
- * reorg.c (fill_simple_delay_slots): Don't make copy of insn that
- references CC0.
+Wed Nov 28 15:36:13 2001 Jeffrey A Law (law@cygnus.com)
- * romp.md (define_attr "type"): New type "ibranch".
- (define_attr "length"): Set length for "ibranch" type.
- (define_attr "in_delay_slot"): Add new type "ibranch";
- for "branch", only has delay slot if length is 4.
- (define_attr "cc_type"): Add new type "ibranch".
- (indirect branches): Now type "ibranch".
+ * expr.c (store_expr): When copying a string constant into an
+ array, reset the known alignment of the MEM for the section to
+ be cleared to BITS_PER_UNIT.
- * alpha.c (alpha_gp_dead_after): Return 0 if not optimizing.
+2001-11-28 Hans-Peter Nilsson <hp@axis.com>
-Wed Sep 23 00:11:35 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/cris/cris.c: Remove whitespace at end of line.
- * gvarargs.h: Finish changing _ANSI_H to _ANSI_H_.
+Wed Nov 28 14:51:23 2001 Douglas B. Rupp <rupp@gnat.com>
-Tue Sep 22 23:39:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config.gcc (i[34567]86-*-interix3*): New case.
+ * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
+ New files.
- * i386mach.h (perform_fixdfsi): Copy arg to memory variable.
+2001-11-28 Richard Henderson <rth@redhat.com>
-Tue Sep 22 14:54:38 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
+ * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
+ symbolic_operand as the predicate.
- * loop.c (basic_induction_var): Inside PLUS, when looking for promoted
- var, make sure it's a REG.
+2001-11-28 Richard Henderson <rth@redhat.com>
-Tue Sep 22 12:21:11 1992 Michael Meissner (meissner@osf.org)
+ * doloop.c (doloop_modify_runtime): Properly select induction
+ variable; skip late entry test if biv initializer created by loop.
- * mips.h (MIPS_VERSION): Bump Meissner version # to 26.
- (REG_PARM_STACK_SPACE): Use UNITS_PER_WORD instead of 4, and
- substract FIRST_PARM_OFFSET.
- (FIRST_PARM_CALLER_OFFSET): Delete unused macro.
+Wed Nov 28 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * mips.c (init_cumulative_args): Print types of fntype and the
- return type if -mdebuge.
+ * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
+ EXPR_WITH_FILE_LOCATION, so change checks and documentation.
- * decrose.h (CPP_SPEC): Eliminate defining various builtin
- functions with -D<name>=__builtin_<name>, if neither -fbuiltin nor
- -fno-builtin were passed.
- (CC1_SPEC): Eliminate passing -fno-builtin to the compiler if
- neither -fbuiltin nor -fno-builtin were passed. Eliminate
- %{save-temps: } since gcc no longer gives an unknown switch
- message if it is used.
+ * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
- * i386rose.h (CPP_SPEC): Eliminate defining various builtin
- functions with -D<name>=__builtin_<name>, if neither -fbuiltin nor
- -fno-builtin were passed.
- (CC1_SPEC): Eliminate passing -fno-builtin to the compiler if
- neither -fbuiltin nor -fno-builtin were passed. Eliminate
- %{save-temps: } since gcc no longer gives an unknown switch
- message if it is used.
- (MASK_HALF_PIC): Move bit mask to 0x40000000, to allow for i386.h
- to define more switches without overlapping our private switch.
- (TARGET switches): Add -mdebugb to debug half-pic code.
- (OPTIMIZATION_OPTIONS): Only set flag_gnu_linker FALSE always, and
- flag_inline_functions if -O3. In particular never set
- -fomit-frame-pointer which currently messes up debugging.
- (GO_IF_LEGITIMATE_ADDRESS): Define i386-osfrose version that deals
- with half-pic.
- (OVERRIDE_OPTIONS): Define to initialize half-pic.
- (ASM_FILE_END): Define to dump out half-pic variables if needed.
+ * tree.h: Add missing checks on some macros; make formatting more
+ consistent.
- * t-i386rose (EXTRA_OBJS): Define as halfpic.o.
- (CONFIG2_H): Add $(srcdir)/halfpic.h.
- (halfpic.o): Add dependencies.
+ * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
+ level; only add to pending_sizes if find it.
-Tue Sep 22 03:12:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
- * reload1.c (choose_reload_regs): When setting reg_has_output_reload,
- loop over multiple regs only for hard reg. Set reg_is_output_reload
- in separate loop.
+ * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
+ Add casts to remove warnings.
-Mon Sep 21 12:22:24 1992 Jeffrey A. Law (law@mole.gnu.ai.mit.edu)
+ * Makefile.in (OBJS): Sort alphabetically.
- * reorg.c (mark_set_resources, case REG): A register is set iff
- "in_dest" is nonzero.
+ * print-rtl.c (print_rtx): If RTX code is bad, just say so.
+ Also minor cleanups.
-Mon Sep 21 14:16:10 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+Wed Nov 28 06:52:27 2001 Arnaud Charlet <charlet@ACT-Europe.FR>
- * combine.c (make_extraction): Make test whether to use AND or
- {SIGN,ZERO}_EXTRACT depend on UNSIGNEDP.
+ * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
+ (FLAGS_TO_PASS): Add STAGE_PREFIX.
+ (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
+ to STAGE_PREFIX.
-Mon Sep 21 08:26:55 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+Wed Nov 28 10:42:19 CET 2001 Jan Hubicka <jh@suse.cz>
- * reload1.c (reload): If we can't get a register that we know won't
- interfere with groups, get one that might instead of giving up.
+ * cse.c (true_dependence_in_rtx): New function.
+ (invalidate): Use it.
- * reload1.c (reload): Print the needs to the dump file.
+ * c-common.h (GOTO_FAKE_P): New macro.
+ * tree-inline.c (GOTO_FAKE_P): Set.
+ * c-tree.texi (GOTO_FAKE_P): Document.
-Mon Sep 21 02:45:19 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * varasm.c (assemble_variable): Set reloc to 3 for error_mark
+ containing pointers.
+ (output_addressed_constants): Check for local/external relocations.
+ * elfos.h (SELECT_SECTION): Classify data section.
+ * tm.texi (SELECT_SECTION): Update documentation.
- * function.c (put_var_into_stack): Check REG != 0 before dereference.
+ * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
+ (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
-Sun Sep 20 16:58:05 1992 Fred Fish (fnf at fishpond.cygnus.com)
+2001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * x-svr4: New generic SVR4 host makefile fragment.
- * x-i386v4: File deleted.
- * x-ncr3000: Get alloca using ALLOCA, not libucb.a.
- * configure (i386-*-sysv4*): Use x-svr4, not x-i386v4.
- * configure (i486-*-sysv4*): Use x-svr4.
+ * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
+ OBJECT_FORMAT_ROSE.
-Sun Sep 20 21:18:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-11-28 Hans-Peter Nilsson <hp@axis.com>
- * combine.c (subst): Set and compare extend_op with 0, not NULL.
+ * config/cris/cris.c: Tweak spacing for prototypes.
+ (LOSE_AND_RETURN): New macro.
+ (cris_operand_lossage): New function.
+ (cris_print_index, cris_print_base): Use cris_operand_lossage
+ rather than fatal_insn.
+ (cris_print_operand, cris_print_operand_address): Use
+ LOSE_AND_RETURN rather than fatal_insn and internal_error.
+ (cris_output_addr_const): Use LOSE_AND_RETURN and
+ output_operand_lossage rather than fatal_insn and internal_error
+ for valid but unexpected rtx expressions.
- * cse.c (find_comparison_args): New args PMODE1, PMODE2.
- (fold_rtx, record_jump_equiv): Use them to get modes of comparison.
- (fold_rtx): Associate MINUS with nested PLUS.
+ * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
+ for a SUBREG in src or dest, abort instead.
- * seq386.h (LPREFIX): Overridden as `.L'.
- (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+2001-11-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-Sun Sep 20 05:53:20 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
+ doc.
- * combine.c (try_combine): Always call set_significant on new
- patterns, so don't call just in split case.
+2001-11-27 Jakub Jelinek <jakub@redhat.com>
- * combine.c (subst): Move sign extension inside arithmetic
- when we have a constant computation inside another computation.
+ * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
+ preprocessor define. If only DBX_DEBUGGING_INFO or only
+ DWARF2_DEBUGGING_INFO is supported for the target, provide
+ appropriate definitions.
- * emit-rtl.c (emit_insn_after_with_line_notes): New function.
- * jump.c (jump_optimize): Delete insns that set registers that
- are not used elsewhere.
- Fix some bugs in "if (...) x = a; else x = b;" code.
- Remove uses of reorder_insns.
- Add code to make scc insns for "if (...) x = exp;" if EXP is simple
- enough.
- Optimize "if (...) x = b;" if jumps very expensive; don't use a REG
- as the older value of X since it doesn't help and can hurt.
- Correctly place generated insns in above case.
+2001-11-27 Neil Booth <neil@daikokuya.demon.co.uk>
- * reload.c (find_reloads, find_reloads_toplev): Treat
- BYTE_LOADS_SIGN_EXTEND just like BYTE_LOADS_ZERO_EXTEND.
- * combine.c (subst, simplify_and_const_int, significant_bits):
- Likewise.
- (num_sign_bit_copies, case MEM): New case for BYTE_LOADS_SIGN_EXTEND.
- (num_sign_bit_copies, case SUBREG): Handle just like significant_bits.
-
-Sat Sep 19 15:55:31 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * combine.c (combine_instructions): Clear significant_valid
- at end of combine pass for a function.
- (find_split_point, case MEM): See if first operand of the PLUS
- that makes up an address is complex.
- (subst): Add missing arg to recursive calls when IF_THEN_ELSE
- is an arg of an operator.
- (subst, case IF_THEN_ELSE): Generalize code to propagate comparison
- result into arms by using known_cond.
- If an arm is the first operand of the comparison, make it the
- true arm.
- Remove unneeded comparison when arms are identical.
- Try to convert IF_THEN_ELSE to ABS, (neg (abs X)), [US]MIN, [US]MAX.
- Convert (if_then_else (ne A 0) (OP X C) X) to (OP X (mult A C)).
- (subst, case SET): If we don't have conditional moves,
- convert IF_THEN_ELSE into logical operations.
- (subst, case AND): Always make conditional moves, even if we
- don't support them on the machine.
- (known_cond, extended_count): New functions.
- (gen_binary): For commutative operations, put constant last.
-
- * combine.c (try_combine): The insns made by a DEFINE_SPLIT might
- contain a PARALLEL and the call to recog_for_combine might add it.
-
- * combine.c (simplify_comparison, case ASHIFT): Fix typo.
-
- * combine.c (try_combine): When removing REG_UNUSED note,
- update reg_n_deaths.
- Likewise, when making new REG_DEAD notes for distribute_notes.
- (remove_death, move_deaths): Update reg_n_deaths.
- (distribute_notes): When placing second REG_DEAD or REG_UNUSED note or
- ignoring such a note, update reg_n_deaths.
-
- * rtl.h (SUBREG_PROMOTED_{VAR,UNSIGNED}_P): New macros.
- * tree.h (DECL_MODE, DECL_RTL): Update comments.
- * expr.h (PROMOTE_MODE): Provide default definition.
- * expr.c (convert_move, convert_to_mode): Strip off a SUBREG made
- for variables with promoted modes.
- (store_expr): Store into variables with promoted modes by
- doing the appropriate extension operation.
- (expand_expr, case VAR_DECL): Generate SUBREGs for promoted objects.
- (expand_expr, case SAVE_EXPR): Likewise for SAVE_EXPRs.
- (expand_increment): Handle increment of promoted objects.
- * function.c (fixup_var_refs{,_insns}): Add new parms for promoted
- mode and signedness; all callers changed.
- Insert mode conversions when required.
- (fixup_var_refs_1): Add new parms for mode and signedness;
- handle SUBREGs for promoted values.
- (assign_parms): Promote the mode of parameters when useful for
- the target machine.
- * function.h (struct var_refs_queue): Remove unused field ORIGINAL.
- Add new fields PROMOTED_MODE and UNSIGNEDP.
- * integrate.c (expand_inline_function): Convert actual to formal's
- mode (in case formal was promoted).
- * loop.c (basic_induction_var): Add new parameter P.
- Check for bivs that are set over multiple insns and also
- allow a SIGN_EXTEND to be used; remove check for MINUS since
- we don't make MINUS with a constant 2nd operand any more.
- * optabs.c (expand_binop, expand_unop): Don't make SUBREG for promoted
- variables as operands.
- * stmt.c (tail_recursion_args): Use mode of DECL_RTL, not
- DECL_MODE.
- (expand_decl): Promote modes of scalar variables when useful on
- target.
- * unroll.c (find_splittable_regs): If any BIV update isn't
- simple, don't split it.
- (final_giv_value): Look for biv updates by matching insns; don't
- try to reparse the insn.
- * rs6000.h (PROMOTE_MODE): New macro.
-
- * rtlanal.c (reg_set_last): Allow old value to be a SUBREG.
-
- * rs6000.c (print_operand, case 'h', 'H', 'w'): Minor cleanups.
- * rs6000.h (BRANCH_COST): Increase from 2 to 3.
- * rs6000.md (smax, smin, umax, umin): Add define_splits.
-
- * alpha.h (PROMOTE_MODE): New macro.
- (REG_ALLOC_ORDER): Put $0 in front of $21-$16.
- (CONST_OK_FOR_LETTER): Change meanings of N, O, and P.
- (BRANCH_COST): Increase from 3 to 4.
- (PREDICATE_CODES): Add new predicates reg_or_cint_operand and
- sext_add_operand.
- * alpha.md (addsi3): subl can be used to sign-extend addition of
- small negative constants.
- (negsi2): Add pattern for (sign_extend (neg ..)).
- (and pattern): Fix typo in constraint.
- (ashldi3): Use new definition of constant letters.
- (smax, smin, umax, umin): Add define_splits.
- (compares): Can compare constant with zero by adding negative of
- constant.
- (store insns): Can store 0 into memory in both integer and FP.
- * alpha.c (sext_add_operand, reg_or_cint_operand): New function.s
- (print_operand, case 'r', case 'R'): Clean up code; use CONST0_RTX.
+ * Makefile.in: Update, and add c-objc-common.o dependencies.
+ * c-lang.c: Remove unnecessary includes.
+ (c_init): Move bulk of code to c_objc_common_init, and call it.
+ (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
+ inline_forbidden_p, c_cannot_inline_tree_fn): Move to
+ c-objc-common.c.
+ * c-objc-common.c: New. Mostly pulled from c-lang.c.
+ * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
+ c_objc_common_init, c_missing_noreturn_ok_p): New.
+ * toplev.c: Update comment.
+ * doc/passes.texi: Update.
+objc:
+ * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
+ LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
+ LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
+ (objc_init): Update to use c_objc_common_init.
+
+2001-11-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.c (_cpp_init_hashtable): Update.
+ * cpphash.h (struct spec_nodes): Remove n_L.
+ * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
+
+2001-11-17 Richard Henderson <rth@redhat.com>
- * rtl.c (note_insn_name): Fix typo: had NOT_INSN_DELETED_LABEL.
+ * unroll.c (loop_iterations): Move last change ...
+ * doloop.c (doloop_modify_runtime): ... here.
- * jump.c (delete_insn): Don't change labels to NOTEs if we would
- not really have deleted them.
+2001-11-17 Corey Minyard <minyard@acm.org>
+ Richard Henderson <rth@redhat.com>
- * genconfig.c (walk_insn_part, case IF_THEN_ELSE): Refine when
- HAVE_CMOVE_FLAG gets set.
+ * unroll.c (loop_iterations): Detect one situation in which we
+ overestimate the number of iterations.
-Sat Sep 19 14:52:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- * reload.c (find_reloads): Always use >= with FIRST_PSEUDO_REGISTER.
+ * gcc.c (set_input): Export.
+ Move declaration ...
+ gcc.h (set_input): ... here.
+
+2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * gcc.c (set_collect_gcc_options): New function, split out from
+ main.
+ Ignore elided switches.
+ (do_spec): Invoke before executing command.
+ (do_spec_1): Likewise.
+ Fixes PR other/3968.
+
+2001-11-27 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.h (INT_ASM_OP): Remove.
+
+2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/i386/sol2.h (WINT_TYPE): Redefine.
+ (WINT_TYPE_SIZE): Likewise.
+
+2001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
+ (dup2): Make static and add prototype.
+ * m68k/plexus.h: Don't define NO_DUP2.
+ * configure.in (AC_CHECK_FUNCS): Add dup2.
+ * config.in, configure: Regenerate.
+
+ * ia64/aix.h (REG_SIZE): Don't #undef.
+ * sparc.h (REG_SIZE): Delete.
+ * flow.c (mark_used_regs): Don't use REG_SIZE.
+ * regs.h (REG_SIZE): Delete.
+
+2001-11-27 Andreas Schwab <schwab@suse.de>
+
+ * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
+ PREFERRED_DEBUGGING_TYPE.
+
+Tue Nov 27 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * Makefile.in (c-lang.o): Depends on langhooks-def.h.
+ (expr.o, varasm.o): Depends on langhooks.h.
+ * c-common.c (c_safe_from_p): Always declare.
+ (c_expand_expr): Refine when declared.
+ * c-lang.c (c-common.h): Now include.
+ (LANG_HOOKS_SAFE_FROM_P): Define new hook.
+ (c_init): Don't set lang_safe_from_expr.
+ * expr.c (langhooks.h): Now include.
+ (lang_safe_from_p): No longer define.
+ (safe_from_p): Use lang hook.
+ (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
+ (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
+ * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
+ * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
+ (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
+ * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
+ * langhooks.h (struct lang_hooks): New fields expand_constant
+ and safe_from_p.
+ * output.h (output_constant): Size arg is HOST_WIDE_INT.
+ * stmt.c (expand_decl_init): No longer need to expand constant
+ for CONST_DECL.
+ * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
+ * toplev.c (lang_expand_constant): Delete var.
+ * tree.c (save_expr): Don't put another SAVE_EXPR around simple
+ operations on SAVE_EXPR.
+ * varasm.c (langhooks.h): Now include.
+ (compare_constant_1): Use lang_hooks, not lang_expand_constant.
+ (record_constant_1, output_addressed_constants): Likewise.
+ (initializer_constant_valid_p, output_constant): Likewise.
+ (output_constant_def): Process no-defer of string constant.
+ (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
+ (output_constant): Strip more conversions.
+ Track our size and pad for the rest.
+ (array_size_for_constructor): Remove code for non-byte STRING_CST.
+ (output_constructor): SIZE now HOST_WIDE_INT.
+
+2001-11-27 Richard Henderson <rth@redhat.com>
+
+ * ifcvt.c (noce_try_store_flag_constants): Test for overflow
+ in computing DIFF.
+
+2001-11-27 Zack Weinberg <zack@codesourcery.com>
+
+ * cppfiles.c (read_include_file): Add comment.
+
+2001-11-26 Richard Henderson <rth@redhat.com>
+
+ * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
+
+2001-11-26 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
+ * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
+ commented out override.
+
+2001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cppfiles.c (stack_include_file): Don't optimize zero-length
+ files.
+ (read_include_file): NUL-terminate read files.
+ * cpplex.c (handle_newline, skip_escaped_newlines,
+ get_effective_char, skip_whitespace, parse_identifier,
+ parse_identifier_slow, parse_number, parse_string,
+ _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
+ NUL-terminated.
+ * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
+ Be sure buffers are NUL terminated.
+ * cppmacro.c (warn_of_redefinition): Kill compile warning.
+
+2001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-common.c: Include tree-inline.h.
+ (c_language): Move separate definitions here.
+ (c_common_init_options, c_common_post_options): New.
+ (c_common_lang_init): Rename c_common_init.
+ * c-common.h (c_common_lang_init): Similarly.
+ (c_common_init_options, c_common_post_options): New.
+ * c-lang.c (c_post_options): Move body to c_common_post_options.
+ (c_init_options): Use c_common_init_options.
+ (c_init): Update.
+ * langhooks.def: Rearrange.
+ * langhooks.h: Rearrange, and improve comments.
+ * toplev.c (do_compile): New function.
+ (toplev_main): Use it.
+ (lang_independent_f_options, parse_options_and_default_flags,
+ process_options): Remove trailing periods.
+ * Makefile.in: Update.
+objc: * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
+ functions.
+ (ojbc_init): Update.
- * i386mach.h (SIZE_TYPE): Defined.
+2001-11-26 Richard Henderson <rth@redhat.com>
-Sat Sep 19 04:57:06 1992 James Van Artsdalen (james at bigtex.cactus.org)
+ * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
- * i386.md (sCOND patterns): Don't allow a MEM in the SET_DEST,
- because these insns can't have input reloads, and a MEM might need
- an input address reload.
-
- * fold-const.c (fold_convert): Avoid using conversion of unsigned
- to floating; offset value by hand to fit in signed type.
-
-Sat Sep 19 00:50:32 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * integrate.c (subst_constants): Do substitute in address of MEM dest.
-
- * reload1.c (init_reload): Fix typo.
-
-Fri Sep 18 21:09:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * libgcc2.c: Declare _exit as volatile.
-
- * function.c (assign_parms): Set MEM_IN_STRUCT_P right in stack slots.
-
-Fri Sep 18 15:58:15 1992 James Van Artsdalen (james at bigtex.cactus.org)
-
- * fixincludes: Don't look for *.h symlinks if the host doesn't
- have symlinks.
-
-Fri Sep 18 17:34:27 1992 Michael Meissner (meissner@osf.org)
-
- * mips.md (call_internal): If the memory address to call is really
- a constant integer, load it up into $at and do the call from
- there.
- (call_value_internal): Ditto.
-
-Fri Sep 18 03:48:17 1992 Tom Wood (wood@dg-rtp.dg.com)
-
- * m88k.c (m88k_volatile_code): New variable.
- (print_operand): Track volatile memory references and output a
- serializing instruction before a load when necessary.
- * m88k.h (TARGET_SWITCHES): Add -m{no,}serialize-volatile.
- (OVERRIDE_OPTIONS): -m88110 and -m88000 imply -mserilize-volatile.
- (ADJUST_INSN_LENGTH): Volatile memory operantions may be longer.
- (CC_STATUS_INIT): Reset m88k_volatile_code to the unknown state.
- * m88k.md (load store patterns): Prepend loads and stores with %V
- and %v to track the type and address of the access.
-
- * m88k.c (m88k_version, m88k_version_0300): New variables.
- * m88k.h (TARGET_OPTIONS): Generalize to -mversion-STRING.
- (OVERRIDE_OPTIONS): Compute m88k_version_0300.
- * m88k.md (call_movstrsi_loop): Renamed from call_block_move_loop.
- Use call-value for the block move patterns.
-
- * m88kdgux.h (PERFERRED_DEBUGGING_TYPE): Compute based on
- m88k_version.
- (CPU_DEFAULT): Make it -m88000.
-
- * m88k.h: Don't use #elif
-
-Fri Sep 18 01:08:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * Makefile.in (install-common-headers): Don't copy byteorder.h.
-
-Thu Sep 17 20:06:22 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
-
- Complete 13th Cygnus<-->FSF merge.
-
- Thu Sep 17 13:15:15 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
-
- Do some much-needed housecleaning of the C++ front-end.
- * cp-call.c (ideal_candidate): Move `p2' down inside #if 0'd (only)
- section that actually uses it. Delete unused variable `buf'.
- (build_method_call): Delete unused variable `dtor_specd'.
- * cp-class.c (finish_struct): Delete unused variable `basetype'.
- * cp-cvt.c (convert_to_aggr): Add missing argument decl for `protect'.
- (convert_pointer_to): Delete unused variable `form'.
- * cp-decl.c: Include string.h/strings.h for strncpy() decl.
- Add decls for init_* fns. Delete unused decl `push_overload_decl_1'.
- Don't use `c_function_varargs', C++ doesn't need it.
- (push_binding_level): Add missing argument decls for
- `tag_transparent' and `keep'.
- (lookup_tag): Add missing argument decl for `tags_transparent'.
- (lookup_name): Add missing argument decl for `prefer_type'.
- (start_decl): Delete unused variables `classname' and `tmpl'.
- (grokvardecl): Add missing argument decl for `initialized'.
- (grokdeclarator): Delete unused variable `t'.
- * cp-decl2.c (get_temp_name): Delete unused variable `temp'.
- (finish_table): Delete unused variable `publicp'.
- (finish_builtin_type): Add missing argument decl for `len'.
- (finish_file): Delete unused variables `asm_out_file' and
- `init_function_name'.
- * cp-except.c (ansi_exception_object_lookup): Add missing
- argument decl for `type'.
- (cplus_expand_throw): Delete unused variables `cname', `name',
- and `raise_id'.
- * cp-init.c: Delete unneeded forward decl of `init_init_processing'.
- (build_new): Delete unused variable `alignment'.
- (expand_vec_init): Add missing argument decl for `from_array'.
- (build_vec_delete): Delete unused variable `rval'.
- * cp-input.c (feed_input): Add missing argument decl for `len'.
- * cp-lex.c: Delete unused variable `nextlastiddecl'.
- (check_newline): Delete unused variable `tmp'. Place `asm_out_file'
- inside a conditional for ASM_OUTPUT_IDENT.
- (real_yylex): Delete unused variable `typename_scope_in_progress'
- and unused labels `relex' and `reswitch'.
- * cp-method.c: Include string.h/strings.h for strncpy() decl.
- (new_text_len): Deleted.
- (dump_type_prefix): Delete unused variables `print_struct' and `name'.
- (dump_tyupe): Delete unused variable `print_struct'.
- (type_as_string): Delete unused variable `spaces'.
- (do_inline_function_hair): Delete unused variable `cname'.
- (flush_repeats): Delete unused variable `rval'.
- (build_t_desc_overload): Delete unused variable `i'.
- (build_opfncall): Add missing argument decl for `flags'.
- (hack_identifier): Add missing argument decl for `yychar'.
- * cp-parse.y (template_instantiate_once): Delete unused
- variables `id' and `members'.
- * cp-search.c (lookup_field): Add missing argument decl for `want_type'.
- (tree_needs_constructor_p): Add missing argument decl for `i'.
- (dfs_debug_mark): Delete unused variable `pending_vtables'.
- (dfs_get_vbase_types): Delete unused variable `basetype'.
- * cp-spew.c (init_spew): Delete unused variables `pc' and
- `chars_following_typename'.
- (yylex): Delete unused variables `dk' and `tmp'. Move decl of `t2' down
- to the block that actually uses it.
- * cp-tree.c (build_cplus_staticfn_type): Delete unused variable `ptype'.
- (propagate_binfo_offsets): Delete unused variables `t' and `basetype'.
- (layout_basetypes): Delete unused variable `binfo'.
- (array_type_nelts_total): Delete unused variable `index_type'.
- * cp-tree.h: Add many decls.
- * cp-typeck.c (comp_array_types): Add missing argument decl
- for `strict'.
- (build_compound_expr): Delete unused variable `tmp'.
- (convert_for_initialization): Delete unused label `converted'.
-
- Wed Sep 16 12:51:10 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
-
- * cp-decl.c (init_decl_processing): Enable code to add sin and cos
- as built-in functions.
-
- * cp-decl.c (duplicate_decls): Enable code to preserve the DECL_UID
- of olddecl.
+2001-11-26 DJ Delorie <dj@redhat.com>
- * cp-search.c (lookup_nested_fields): Make sure we're climbing along
- a chain of nested types, and nothing else.
+ * expr.c (store_constructor): Actually use the value computed
+ if WORD_REGISTER_OPERATIONS.
- Tue Sep 15 17:38:34 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+2001-11-26 Richard Henderson <rth@redhat.com>
- * cp-search.c (lookup_nested_fields): New function.
- * cp-tree.h: Declare it.
- * cp-decl.c (lookup_name): Call it if there's no class-local
- definition. (It could be nested.)
- * cp-lex.c (do_identifier): Call lookup_nested_field() if necessary.
+ * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
+ for CONSTRUCTOR.
- Tue Sep 15 12:37:16 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+2001-11-26 David Edelsohn <edelsohn@gnu.org>
- Mon Aug 24 14:58:02 1992 Chip Salzenberg (chip at animal)
+ * rs6000.c (output_mi_thunk): Handle minimal-toc and call
+ correct function on AIX.
- * cp-typeck.c (build_conditional_expr): Determine constness
- and volatility with TREE_... tests instead of TYPE_... tests.
+2001-11-26 Alexandre Oliva <aoliva@redhat.com>
- Mon Sep 14 18:00:35 1992 Chip Salzenberg (chip@tct.com)
+ * toplev.c (process_options): Don't force
+ flag_optimize_sibling_calls to zero just because exceptions are
+ enabled.
- * cp-decl.c (grokdeclarator): Remove redundant (and broken)
- test for multiple destructors in a class.
-
- Fri Jul 31 19:09:10 1992 Chip Salzenberg (chip@tct.com)
-
- * cp-cvt.c (convert_to_integer): Push truncation inside COND_EXPR.
-
- Mon Sep 14 17:52:45 1992 Chip Salzenberg (chip@tct.com)
-
- * cp-class.c (finish_struct): Always write all structure types,
- even if they're defined in a "#pragma interface" header file.
- Otherwise, XCOFF debugging info is messed up.
+Mon Nov 26 12:37:05 2001 Jeffrey A Law (law@cygnus.com)
- Mon Sep 14 17:39:32 1992 Chip Salzenberg (chip@tct.com)
+ * df.h (transfer_function_sbitmap): Use PARAMS around argument
+ list in function prototypes.
+ (transfer_function_bitmap): Likewise.
- * cp-class.c (finish_struct): ``Actually, I don't understand
- this code. What is it supposed to do?'' --Niklas Hallqvist
+2001-11-26 Loren J. Rittle <ljrittle@acm.org>
- Mon Sep 14 17:27:23 1992 Chip Salzenberg (chip@tct.com)
+ * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
+ * config/i386/netbsd-elf.h: Likewise.
- * cp-decl.c (finish_decl): Don't dump core if a decl is anonymous.
- A decl is at the global binding level if DECL_CONTEXT is null.
- (grokdeclarator): Don't globalize a type if its first mention
- is in a parameter. It's okay to initialize a function in a
- non-global scope.
+2001-11-26 David Edelsohn <edelsohn@gnu.org>
- Tue Sep 15 12:15:26 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+ * doc/trouble.texi: Remove outdated RS/6000 comments.
- * cp-typeck.c (c_expand_return): Emit a warning when they try to
- return the address of a local variable.
+Mon Nov 26 13:49:41 CET 2001 Jan Hubicka <jh@suse.cz>
- * cp-decl.c (finish_method): Make sure it's indeed nested before
- checking for the qualified name.
+ * final.c (walk_alter_subreg): Fix return value.
- Mon Sep 14 18:59:25 1992 Mike Stump (mrs@cygnus.com)
+Mon Nov 26 11:36:20 CET 2001 Jan Hubicka <jh@suse.cz>
- Wed Sep 2 11:04:24 1992 Chip Salzenberg (chip@tct.com)
+ * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
+ alter_subreg.
+ * sparc.md (post-reload splitters): Do not call alter_subreg.
+ * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
- * cp-decl.c (init_decl_processing): Add sin and cos as built-in
- functions. Fix type of __builtin_constant_p.
+2001-11-25 Aldy Hernandez <aldyh@redhat.com>
- * cp-lex.c (readescape): For \x, don't include leading 0's in count.
+ * regclass.c (choose_hard_reg_mode): Handle vector arguments.
- * cp-typeck.c (build_unary_op): For ADDR_EXPR, just set
- TREE_CONSTANT if staticp, but don't clear TREE_CONSTANT.
+2001-11-26 Alan Modra <amodra@bigpond.net.au>
- Mon Sep 14 18:54:41 1992 Mike Stump (mrs@cygnus.com)
+ * final.c: (insn_lengths): Make it an int *, so that large jump
+ tables don't overflow.
- * cp-parse.y (permanent_obstack): Move to top of file.
+2001-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
- Mon Sep 14 18:50:19 1992 Mike Stump (mrs@cygnus.com)
+ * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
+ (format_types): Use it for scanf.
+ (dollar_arguments_pointer_p): New.
+ (init_dollar_format_checking): Store details of which arguments
+ are pointers.
+ (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
+ (finish_dollar_format_checking): Take extra parameter
+ pointer_gap_ok. Treat unused arguments differently if
+ pointer_gap_ok and the unused arguments are pointers.
+ (check_format_info_main): Pass extra argument to
+ finish_dollar_format_checking.
+ * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
+ unused arguments are present between used arguments with operand
+ numbers.
- Mon Sep 14 16:39:10 1992 Chip Salzenberg (chip@tct.com)
+2001-11-25 Daniel Berlin <dan@cgsoftware.com>
- [ Changes propagated from diffs to c-* in 920911 snapshot. ]
+ * df.c: Add prototypes for hybrid_search_bitmap and
+ hybrid_search_sbitmap.
+ (hybrid_search_bitmap): New function.
+ (hybrid_search_sbitmap): New function.
+ (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
+ (iterative_dataflow_bitmap): Ditto.
- * cp-decl.c (duplicate_decls): Set DECL_INLINE in newdecl so it
- is copied into olddecl. Don't set DECL_EXTERNAL in olddecl.
- Preserve DECL_UID and DECL_FRIEND_P of olddecl.
+2001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
- * cp-typeck.c (build_binary_op_nodefault): Don't assume that a
- target integer fits in a HOST_WIDE_INT when checking shift widths.
+ * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
+ address computations.
- Mon Sep 14 18:15:42 1992 Mike Stump (mrs@cygnus.com)
+2001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
- Mon Aug 24 14:32:03 1992 Chip Salzenberg (chip@tct.com)
+ * config/m68hc11/m68hc11.c (d_register_operand): Must accept
+ register b (low part of d).
- * cp-parse.y (reserved_declspecs): Warn if storage class occurs here.
- (declmods): Warn if storage class is not first.
+2001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
- Mon Sep 14 16:59:53 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+ * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
+ passed to mcount.
- * cp-method.c (fndecl_as_string): Don't output an extra space when
- printing the return type of a function.
+Sun Nov 25 06:22:09 2001 Douglas B. Rupp <rupp@gnat.com>
- Mon Sep 14 16:01:53 1992 Mike Stump (mrs@cygnus.com)
+ * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
+ * config/alpha/x-vms: New file, to compile the above.
+ * config.gcc (alpha*-dec-vms*): Add x-vms.
- Fri Jun 12 18:07:00 1992 Niklas Hallqvist (niklas@appli.se)
+2001-11-24 Hans-Peter Nilsson <hp@axis.com>
- * cp-parse.y (structsp, named_class_head_sans_basetype): Call
- overload_template_name in the case of template specializations so
- that something like:
+ * genextract.c (main): Set ro_loc for peepholes.
- template<class T> struct C { C(); };
- struct C<int> { C(); };
+Sat Nov 24 17:04:10 2001 Douglas B. Rupp <rupp@gnat.com>
- works.
+ * fix-header.c (main): Move inf_buffer termination and inf_limit
+ calculation to after read.
- Mon Sep 14 15:51:22 1992 Mike Stump (mrs@cygnus.com)
+ * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
+ (__UNIX_FOPEN): Define.
- Fri Apr 10 13:20:56 1992 Niklas Hallqvist (niklas@appli.se)
+Sat Nov 24 16:11:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * cp-spew.c (spew_debug): exported this flag for use in cp-decl.c
- (template_type_seen_before_scope): new global containing contextual
- information for the parser, making the compiler grok nested types in
- template classes.
- (shift_tokens): Guard bcopy calls against moves of zero size.
- (yylex): Handle nested types in template classes.
+ * function.c (assign_stack_temp_for_type): Clear alias set before
+ setting new one.
- * cp-parse.y (scoped_typename): Handle nested types in template
- classes.
- (template_type): Likewise.
- (base_class.1): Likewise.
- (member_init): Likewise.
- (scoped_baseclass): New rule for handling of nested types in
- template classes.
+2001-11-23 David Edelsohn <edelsohn@gnu.org>
- * cp-decl.c (xref_defn_tag): Conditionalized debug printout on
- spew_debug (defined in cp-spew.c).
- (binding_levels_sane): void function returned value.
+ * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
+ format.
+ * rs6000.md (cmptf): Fix typo.
- Mon Sep 14 15:41:28 1992 Mike Stump (mrs@cygnus.com)
+2001-11-23 Richard Sandiford <rsandifo@redhat.com>
- Mon Sep 14 17:26:18 1992 Chip Salzenberg (chip@tct.com)
+ * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
+ * varasm.c (output_constructor): Use assemble_integer rather
+ than ASM_OUTPUT_BYTE.
- * cp-parse.y (unary_expr), cp-call.c (build_scoped_method_call):
- NEVER use `maybe_adjust' feature in destructors. It's unsafe.
+2001-11-23 Andreas Jaeger <aj@suse.de>
- Mon Sep 14 15:12:34 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+ * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
+ extension.
- * cp-decl.c (finish_method): Complain when a qualifier is used as
- part of a member declaration.
+2001-11-23 Nick Clifton <nickc@cambridge.redhat.com>
- Mon Sep 14 11:47:30 1992 Mike Stump (mrs@cygnus.com)
+ * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
+ default definition.
+ (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
+ (MULTILIB_DEFAULTS): Remove previous definition.
- * cp-decl2.c (groktypefield): Revert Wed Aug 19 14:47:08 1992
- change as it breaks template constructor declarations. Gez, this
- code is horribly complex, and the comments are wrong. Note,
- template constructor definitions are broken in the same way, as
- declarations were with this patch in.
+2001-11-23 Neil Booth <neil@daikokuya.demon.co.uk>
- Fri Sep 11 14:09:01 1992 Mike Stump (mrs@cygnus.com)
+ * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
+ * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
- Fri Sep 11 10:34:45 PDT 1992 Ron Guilmette (rfg at netcom.com)
+2001-11-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * cp-decl.c (duplicate_decls): For file-scope redefinitions, note
- that the variable was previously *defined* at some specific (earlier)
- point.
+ * cris.h: Revert thinko in last patch.
- Fri Sep 11 13:49:55 1992 Mike Stump (mrs@cygnus.com)
+2001-11-23 Joseph S. Myers <jsm28@cam.ac.uk>
- Tue Sep 8 21:39:35 PDT 1992 Ron Guilmette (rfg at netcom.com)
+ * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
+ FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
+ cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
+ dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
+ explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
+ sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
- * cp-decl2.c (finish_file): Don't pass `1's as the `functionbody'
- flag to `poplevel' when getting ready to finishing up the per-
- compilation-unit constructors and destructors.
+ * predict.c, reg-stack.c: Fix spelling errors.
- Fri Sep 11 13:28:02 1992 Mike Stump (mrs@cygnus.com)
+2001-10-09 Andrew Haley <aph@redhat.com>
- * cp-decl.c (grokdeclarator): Upgrade local externs with
- initializations to be errors, instead of warnings.
+ * calls.c (check_sibcall_argument_overlap): Use slot_offset for
+ start of stack slot.
- Fri Sep 11 13:03:52 1992 Mike Stump (mrs@cygnus.com)
+2001-11-22 Graham Stott <grahams@redhat.com>
- Thu Sep 10 09:40:56 PDT 1992 Ron Guilmette (rfg at netcom.com)
+ * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
+ replacement jump after original jump.
- * cp-decl.c (grokdeclarator): Given an error if *either* a `static'
- or an `extern' specifier is attached to a defining declaration of a
- static data member.
+ (verify_flow_info): Remove redundent initialisation.
+ Handle reaching end of insn list before finding a BARRIER.
+ Only issue one missing barrier diagnostic.
- Wed Sep 9 19:46:43 1992 Mike Stump (mrs@cygnus.com)
+2001-11-22 Graham Stott <grahams@redhat.com>
- * c++: Makes sure echo -nostdinc does not eat the -nostdinc.
+ * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
- Tue Sep 8 13:42:35 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+Thu Nov 22 06:49:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * cp-typeck.c (common_type, case FUNCTION_TYPE): An empty argument
- list is represented as a void_type_node; make sure we check for
- that, and not just an empty TYPE_ARG_TYPES list on either side.
+ * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
+ insn actually does.
- Tue Sep 8 02:31:05 1992 Mike Stump (mrs@cygnus.com)
+2001-11-22 Nick Clifton <nickc@cambridge.redhat.com>
- * cp-tree.c (layout_basetypes, make_binfo): Added support for
- debugging information about virtual base class pointers.
+ * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
+ Fix typo -mm32rx=> -m32rx.
- Mon Sep 7 15:34:58 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+ * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
+ targets.
- * cp-decl2.c (temp_name_p): Deleted function, never used anywhere.
+ * config.gcc (xscale-coff): Add necessary header files to
+ tm_file variable.
- Sun Sep 6 23:09:29 1992 John F Carr (jfc at Athena.MIT.EDU)
+2001-11-20 Zack Weinberg <zack@codesourcery.com>
- * cp-typeck.c (convert_arguments): Ignore arguments which are
- ERROR_MARK_NODE to avoid crashes trying to reference fields which
- are not present.
+ * rs6000.c (output_cbranch): Use $, not %$, in output template.
- Mon Sep 7 12:34:09 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+2001-11-21 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
- * cp-decl.c (clear_anon_tags): Do assignment of B after we've seen
- if we're to work on an anonymous aggregate. No need to make the
- assignment for nearly every aggr we ever declare.
+ * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
+ (lang_type_quals): Declare.
+ (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
+ retrieve language-specific qualifiers for a type node, instead of
+ C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
+ lang_dump_tree.
+ * tree-dump.h: Rename from c-dump.h.
+ * c-common.h (C_TYPE_QUALS): Removed.
+ Move declarations for tree-dump.c interface to...
+ * tree.h: ... here. Remove lang_dump_tree.
+ * langhooks.h (struct lang_hooks_for_tree_dump): New.
+ (struct lang_hooks): Add tree_dump hooks.
+ * langhooks.c (lhd_tree_dump_dump_tree): New function.
+ (lhd_tree_dump_type_quals): New function.
+ * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
+ Declare.
+ (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
+ * Makefile.in: Move tree-dump.o to language-independent back-end.
- Sun Sep 6 17:51:47 1992 Mike Stump (mrs@cygnus.com)
+2001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- Sun Sep 6 13:12:16 1992 John Carr (jfc@Athena.MIT.EDU)
+ * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
+ * alpha.h (DBX_REGISTER_NUMBER): Likewise.
+ * arc.h (DBX_REGISTER_NUMBER): Likewise.
+ * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
+ * avr.h (DBX_REGISTER_NUMBER): Likewise.
+ * c4x.h (DBX_REGISTER_NUMBER): Likewise.
+ * clipper.h (DBX_REGISTER_NUMBER): Likewise.
+ * convex.h (DBX_REGISTER_NUMBER): Likewise.
+ * cris.h (DBX_REGISTER_NUMBER): Likewise.
+ * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
+ * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
+ * fr30.h (DBX_REGISTER_NUMBER): Likewise.
+ * h8300.h (DBX_REGISTER_NUMBER): Likewise.
+ * i370.h (DBX_REGISTER_NUMBER): Likewise.
+ * i860.h (DBX_REGISTER_NUMBER): Likewise.
+ * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
+ * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
+ * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
+ * m32r.h (DBX_REGISTER_NUMBER): Likewise.
+ * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
+ * m88k.h (DBX_REGISTER_NUMBER): Likewise.
+ * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
+ * mcore.h (DBX_REGISTER_NUMBER): Likewise.
+ * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
+ * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
+ * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
+ * romp.h (DBX_REGISTER_NUMBER): Likewise.
+ * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
+ * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
+ * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
+ * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
+ * v850.h (DBX_REGISTER_NUMBER): Likewise.
+ * vax.h (DBX_REGISTER_NUMBER): Likewise.
+ * we32k.h (DBX_REGISTER_NUMBER): Likewise.
- * cp-decl.c (pushdecl, finish_decl, store_return_init,
- finish_function), cp-decl2.c (constructor_name, finish_file),
- cp-except.c (cplus_expand_reraise), cp-init.c (emit_base_init,
- expand_aggr_init_1), cp-typeck.c (build_modify_expr,
- c_expand_asm_operands, c_expand_return): Include rtl.h and eliminate
- unneeded casts.
+ * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
+ * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
- * cp-decl2.c (grokbitfield): Use NULL_TREE instead of NULL.
+2001-11-21 H.J. Lu <hjl@gnu.org>
- * cp-decl2.c (finish_file): Don't try and not use stdio.h.
+ * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
+
+2001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
+ emit_cmp_and_jump_insns.
+
+ * stormy16.c (xstormy16_expand_builtin_va_arg,
+ xstormy16_expand_casesi): Likewise.
+
+Wed Nov 21 17:37:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * function.c (keep_stack_depressed): Major rework.
+ (handle_epilogue_set, emit_equiv_load): New functions.
+ (thread_prologue_and_epilogue_insns): keep_stack_depressed now
+ has return value.
+ * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
+ * rtl.h (SET_IS_RETURN_P): New macro.
+
+ * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
+ and also support TREE_ADDRESSABLE.
+ * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
+
+2001-11-21 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.md (cmptf_internal1): Replace %$ with $.
+
+Wed Nov 21 16:44:01 2001 Douglas B. Rupp <rupp@gnat.com>
+
+ * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
+ (read_include_file): Use STAT_SIZE_TOO_BIG.
+
+ * cppinit.c (INO_T_COPY): Define.
+ (INO_T_EQ): Uppercase parameters.
+ (append_include_chain): Use INO_T_COPY.
+
+2001-11-21 Richard Sandiford <rsandifo@redhat.com>
+
+ * cfg.c: Fix typos and formatting in the introductory comment.
+
+Wed Nov 21 12:38:37 CET 2001 Jan Hubicka
+
+ * profile.c (compute_branch_probabilites): Compute probabilities
+ for entry/exit edges; estimate probabilities for zero counts.
+
+2001-11-21 Jakub Jelinek <jakub@redhat.com>
+
+ * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
+ to emit_library_call.
+ * function.c (expand_main_function, expand_function_start,
+ expand_function_end): Likewise.
+ * profile.c (output_func_start_profiler): Likewise.
+ * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
+ second argument to emit_library_call.
+ * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
+ as second argument to emit_library_call.
+ * calls.c (emit_library_call): Update fn_type description.
+
+2001-11-21 Jakub Jelinek <jakub@redhat.com>
+
+ * c-decl.c (c_expand_deferred_function): Only call c_expand_body
+ if fndecl is still DECL_INLINE and has DECL_RESULT.
+
+2001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * clipper.c (clipper_movstr): Avoid uninitialized warning.
+ * i960.c (is_mask, legitimize_address): Likewise.
+ * m88k.c (m88k_expand_prologue): Likewise.
+ * m88k.md: Likewise.
+ * mcore.c (emit_new_cond_insn): Likewise.
+ * stormy16.c (xstormy16_emit_cbranch): Likewise.
+
+2001-11-20 Zack Weinberg <zack@codesourcery.com>
+
+ * config.gcc: Delete powerpcle-*-solaris2* stanza.
+ * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
+ config/rs6000/rs6000.h, config/rs6000/rs6000.md,
+ config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
+ config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
+ config/rs6000/t-ppcos: Expunge all references to Solaris.
+
+ * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
+
+ * config/rs6000/rs6000.md: Replace '%$' with '$' in all
+ output templates.
+ * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
+ and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
+
+2001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * sh.md: Avoid uninitialized warnings.
+ * vax.c (vax_rtx_cost): Likewise.
+
+2001-11-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * rs6000.c (direct_return): Check if we are saving altivec
+ registers.
+ (first_altivec_reg_to_save): New.
+ Updated stack frame layout comments.
+ (rs6000_stack_info): Calculate altivec register save size.
+ Save link register if we saved some altivec registers.
+ (rs6000_stack_info): Align save size to 16 if altivec abi or
+ abi_darwin.
+ (rs6000_stack_info): Calculate altivec register offsets.
+ (rs6000_stack_info): Add altivec info to save_size.
+ (debug_stack_info): Add altivec debug info.
+ (rs6000_emit_prologue): Save altivec registers and vrsave.
+ (compute_vrsave_mask): New.
+ (altivec_expand_builtin): Remove unused variables.
+ (rs6000_parse_abi_options): Add static qualifier.
+ (rs6000_expand_builtin): Remove unused parameters.
+ (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
+ (altivec_init_builtins): Same.
+ (is_altivec_return_reg): New.
+ (vrsave_operation): New.
+ (ALTIVEC_REG_BIT): New.
+ (generate_set_vrsave): New.
+
+ * rs6000.md (get_vrsave): New.
+ (set_vrsave): New.
+ (*set_vrsave_internal): New.
+
+ * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
+ altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
+ altivec_padding_size, vrsave_mask.
+ (TOTAL_ALTIVEC_REGS): New.
+ (EPILOGUE_USES): Add VRSAVE_REGNO.
+
+2001-11-20 Jeff Law <law@redhat.com>
+
+ * unroll.c (copy_loop_body): Update LABEL_NUSES for the
+ exit label as necessary.
+
+2001-11-20 Brad Kaiser <bkaiser@acelink.net>
+
+ * reload1.c (elimination_effects): Use function_invariant_p
+ instead of CONSTANT_P when considering register equivalences.
+
+2001-11-20 David O'Brien <obrien@FreeBSD.org>
+
+ * config.gcc: Add FreeBSD/PowerPC target.
+ (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
+ powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
+ powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
+ powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
+ powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
+ powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
+ freebsd-spec.h to tm_file.
+ (rs6000-*-lynxos*): Add lynx.h to tm_file.
+ * config/freebsd.h: Tidy up.
+ (USING_CONFIG_FREEBSD): Define.
+ (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
+ FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
+ FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
+ (TARGET_HAS_F_SETLKW): Define.
+ (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
+ * config/freebsd-spec.h: New file.
+ * config/rs6000/freebsd.h: New file.
+ * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
+ * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
+ USING_SVR4_H to know when to turn on ELF support.
+ * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
+ define only if not already defined.
+ Add FreeBSD support.
+ * config/rs6000/aix.h (TARGET_VERSION): Define.
+ * config/rs6000/beos.h: Likewise.
+ * config/rs6000/darwin.h: Likewise.
+ * config/rs6000/mach.h: Likewise.
+ * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
+ Don't include lynx.h directly.
+
+2001-11-20 Graham Stott <grahams@redhat.com>
+
+ * unwind-dw2-fde.c (__deregister_frame_info_bases):
+ Fix lossage in last change return OB.
+
+Tue Nov 20 11:56:12 2001 Douglas B. Rupp <rupp@gnat.com>
- * cp-except.c (cplus_expand_reraise): emit_move_insn takes 2
- arguments, not three.
+ * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
+ Remove unneeded exit related macros.
- Sat Sep 5 12:04:06 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+2001-11-20 David Edelsohn <edelsohn@gnu.org>
- * cp-decl.c (finish_function): Undo change of Mon Aug 17 16:28:48
- 1992; it resulted in lots of unnecessary and incorrect warnings.
+ * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
- * cp-lex.c (do_identifier): For nested classes, check if a variable
- being sought is actually in the scope of an enclosing class. If it
- is, and the variable's non-static, bail.
+ * rs6000.c (rs6000_emit_move): Add TFmode case.
+ * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
+ LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
+ LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
+ * rs6000.h: ... to here.
+ * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
+ trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
+ fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
- * cp-decl.c (grok_enum_decls): Tighten up some code that was pretty
- twisty.
+Tue Nov 20 06:41:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * emit-rtl.c (get_mem_attrs): Fix typo.
+
+2001-11-20 Jakub Jelinek <jakub@redhat.com>
+
+ * c-lang.c (finish_file): Backout 2001-11-16
+ changes, instead set DECL_DEFER_OUTPUT for static inline functions
+ before calling c_expand_deferred_function.
+
+2001-11-20 Jakub Jelinek <jakub@redhat.com>
- * cp-class.c (start_struct): Delete; it was #if 0'd out anyway (C++
- doesn't need it), and is an old hold-over from c-decl.c.
+ * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
+ Don't register empty .eh_frame sections.
+ (__deregister_frame_info_bases, __deregister_frame): Don't
+ unregister them either.
- * cp-class.c (minus_one_node): Delete, it's not used.
- (init_class_processing): Delete init of minus_one_node.
+2001-11-19 Geoffrey Keating <geoffk@redhat.com>
- * cp-spew.c (yylex): Check return of resolve_scope_to_name to
- be NULL_TREE.
- (frob_identifier): Likewise.
- (hack_more_ids): Likewise.
+ * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
+ (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
+ * configure: Regenerate.
+ * config.in: Add dummy definitions of new flags.
+ * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
+ * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
+ * gcc.c (ASM_DEBUG_SPEC): New macro.
+ (asm_debug): New static variable.
+ (default_compilers): Add asm_debug when assembling from
+ user input.
+ (static_specs): Add asm_debug.
- * cp-cvt.c (convert_to_real): Use REAL_VALUE_ATOF to make 0.
+2001-11-20 Loren J. Rittle <ljrittle@acm.org>
- Fri Sep 4 19:23:17 1992 Mike Stump (mrs@cygnus.com)
+ * config.gcc (*-*-freebsd*): Remove configuration block.
- * cp-decl.c (grok_ctor_properties): When looking for copy
- constructors, ignore the first argument since it is the in$chrg
- parameter for the object to copy from.
+2001-11-19 Loren J. Rittle <ljrittle@acm.org>
- Fri Sep 4 14:35:31 1992 Mike Stump (mrs@cygnus.com)
+ bootstrap/4422
+ * configure.in: Setup ability to run ./stage[1234]/xgcc in
+ fixinc *as if* it were a proper lang subdirectory.
+ * configure: Rebuilt.
+
+2001-11-19 Loren J. Rittle <ljrittle@acm.org>
+
+ * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
+
+2001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * 1750a.md: Don't use hex format for a const_int.
- * cp-cvt.c (build_up_reference): Prevent the compiler from dumping
- core on semantic errors.
+2001-11-19 Geoffrey Keating <geoffk@redhat.com>
-Thu Sep 17 17:28:13 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
- * c-typeck.c (initializer_constant_valid_p): Warn about address
- arithmetic destined for a type that's too narrow.
- New argument ENDTYPE.
+2001-11-19 Zack Weinberg <zack@codesourcery.com>
- * limitx.h: Don't include-next if _LIBC_LIMITS_H_ defined.
+ * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
+ defined (prevents link errors when gettext isn't in the system
+ library).
-Thu Sep 17 20:45:16 1992 Paul Eggert (eggert@twinsun.com)
+2001-11-19 DJ Delorie <dj@redhat.com>
- * cexp.y (parse_escape): Diagnose '\x' with no digits.
- Diagnose integer overflow when parsing \x escapes.
+ * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
+ (validate_const_int): New.
+ (read_rtx): Validate constant integers.
+ * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
-Thu Sep 17 11:52:53 1992 Michael Meissner (meissner@osf.org)
+2001-11-19 Jakub Jelinek <jakub@redhat.com>
- * gcc.c (SIGNED_CHAR_SPEC): Use #if rather than ?: in default defn.
+ * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
-Thu Sep 17 14:53:51 1992 Tim Moore (moore@defmacro.cs.utah.edu)
+Mon Nov 19 16:57:44 2001 Douglas B. Rupp <rupp@gnat.com>
- * pa.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Fix double integer
- argument alignment.
- (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_SIZE): Define.
- * pa-hpux.h, pa-ghpux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
- WCHAR_SIZE): Define for hpux.
- * x-pa, t-pa : New files.
- * configure (hppa cases): add definitions for xmake_file and
- tmake_file.
+ * toplev.c (DUMPFILE_FORMAT): Define default.
+ (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
+ (close_dump_file, compile_file): Likewise.
+ * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
+ * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
-Wed Sep 16 22:22:15 1992 James Van Artsdalen (james at bigtex.cactus.org)
+2001-11-19 Jeff Law <law@redhat.com>
- * i386.c (print_operand): Don't abort if error: might have been a
- user asm.
+ * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
+ a nop-jump.
- * i386.md (addsi3,ashlsi3): Handle the case where the stack
- pointer appears as an index reg.
+2000-11-19 Neil Booth <neil@daikokuya.demon.co.uk>
-Wed Sep 16 21:22:23 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
+ Don't fall off the base token run.
- * cse.c (fold_rtx): For SUBREG, actually test subreg_lowpart_p in the
- code to handle narrowing subregs. And exclude binary ops like DIV
- where truncating the args is not valid.
+2001-11-19 Jason Wilkins <fenix@io.com>
- * libgcc2.c (__CTOR_LIST__, __DTOR_LIST__): Moved to separate member.
- * Makefile.in (LIB2FUNCS): Added _ctors.
+ * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
-Wed Sep 16 23:28:41 1992 Paul Eggert (eggert@twinsun.com)
+Mon Nov 19 15:13:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * cexp.y (parse_number): Warn about '9' in octal constants.
- Commonize overflow detection for various radices.
+ * tree.def (VIEW_CONVERT_EXPR): New tree code.
+ * tree.h (handled_component_p): New declaration.
+ * alias.c (handled_component_p): Move function from here ...
+ * expr.c (handled_component_p): ... to here and non longer static.
+ (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
+ (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
+ (get_inner_reference): Handle VIEW_CONVERT_EXPR.
+ (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
+ (expand_expr, case VIEW_CONVERT_EXPR): New case.
+ (expand_expr, cse ADDR_EXPR): No need to copy if already
+ BIGGEST_ALIGNMENT.
+ * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
+ * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
+ (output_constant): Handle VIEW_CONVERT_EXPR.
+ * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
+ Add new case for VIEW_CONVERT_EXPR.
-Wed Sep 16 19:33:37 1992 Torbjorn Granlund (tege@mole.gnu.ai.mit.edu)
+2001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * pa.md (casesi): Use emit_jump_insn to emit casesi0 pattern.
- (xorsi3): Remove `r' from output template.
- (movstrsi recognizer): Add `+' to operand 0 & 1 constraints.
+ * a29k/unix.h (ASM_FILE_START): Const-ify.
+ * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
+ * i386/isc.h (ASM_FILE_START): Const-ify.
+ * i386/sun386.h (ASM_FILE_START): Likewise.
+ * m32r.md: Likewise.
+ * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
+ * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
+ * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
+ * mn10200.md: Initialize variable.
-Wed Sep 16 14:53:51 1992 Michael Meissner (meissner@osf.org)
+Mon Nov 19 18:06:21 CET 2001 Jan Hubicka <jh@suse.cz>
- * mips.h (MIPS_VERSION): Set Meissner version # to 25.
+ * gcse.c (try_replace_reg): Copy RTX before creating note.
- * mips.c (gen_int_relational): Eliminate all vestiages of
- figuring out whether the comparison will always be true or false.
- Let the optimizer figure it out.
- (gen_conditional_branch): Ditto.
- (function_epilogue): Print correct number of half-pic pointers
- and references.
- (prev_half_pic_refs): New static variable.
- (prev_half_pic_ptrs): New static variable.
+ * df.h (df_ref_flags): New uenum.
+ (DF_REF_FLAGS): New macro.
+ (struct ref): Add field "flags".
+ * df.c (HANDLE_SUBREG): Remove.
+ (df_ref_create): Likewise; set flags field of ref.
+ (df_def_record_1): Strip down read_write subreg; remove
+ commented out code; set READ_WRITE flag.
+ (read_modify_subreg_p): New static function.
+ (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
+ new argument "flags".
+ (df_insn_refs_record): Update call of df_uses_record.
+ (df_insn_modify): Avoid #if 0 around comment.
+ (df_dump): Dump the read/write flag.
-Tue Sep 15 16:10:47 PDT 1992 Ron Guilmette (rfg at netcom.com)
+ * predict.c (propagate_freq): Make cyclic_probability and frequency
+ volatile
- * toplev.c (rest_of_decl_compilation): Call `dwarfout_file_scope_decl'
- immediately for actual *definitions* of file-scope variables (and
- file-scope typedefs too).
+ * i386.c (ix86_cc_mode): Accept USE.
-Tue Sep 15 20:56:31 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * cfgrtl.c (purge_dead_edges): Cleanup EDGE_ABNORMAL flag if computed
+ jump is turned into simplejump.
- * fixincludes (EXINIT): Clear it to avoid problems with bad values.
- * fixinc.svr4 (EXINIT): Likewise.
+2001-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
- * print-tree.c (print_node): Don't print blank line for null
- fields in a TREE_VEC.
+ * doc/fragments.texi, doc/trouble.texi: Remove links to old
+ installation chapter.
+ * doc/gcc.texi: Don't claim that this manual documents
+ installation. Mark Installation menu entry as being out of date.
- * cccp.c (macroexpand): Don't output another error message if have
- already output error message returned from macarg.
+Mon Nov 19 07:21:35 2001 Douglas B. Rupp <rupp@gnat.com>
- * c-decl.c (grokparms): Copy parm list if it isn't permanent,
- instead of copying it if temporary allocation has been turned off.
+ * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
+ (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
+ * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
- * final.c (only_leaf_regs_used): Check for global_regs.
+2001-11-19 Jason Merrill <jason@redhat.com>
- * c-parse.y (typespec): Don't warn if pedantic when typeof used.
+ * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
+ cur_token, not after.
- * c-tree.h (lang_identifier): Add limbo_value field for out of
- scope block level extern declarations.
- (IDENTIFIER_LIMBO_VALUE): New define, to access that field.
- * c-decl.c (print_lang_identifier): Print value of limbo field.
- (pushdecl): Check an extern decl against both previous global and
- previous limbo declarations. For global declarations, clear limbo
- value field. For block level extern declarations, set limbo field
- if zero.
- (grokdeclarator): If this is a block level extern, then allocate
- it on the permanent obstack, not the temporary obstack.
+ * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
+ Lose ASM_OUTPUT_CONSTRUCTOR.
+ * system.h: Poison it and INT_ASM_OP.
+ * c-lang.c (finish_file): Don't check for it.
+ * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
+
+2001-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Tue Sep 15 15:42:24 1992 Paul Eggert (eggert@twinsun.com)
+ * mmix.c (mmix_cc1_ignored_option): Const-ify.
+ (mmix_init_machine_status): Make static to match declaration.
+ (mmix_unique_section): Const-ify.
+ (mmix_output_quoted_string): Avoid automatic aggregate
+ initialization.
+ (mmix_output_register_setting): Likewise.
+ (mmix_output_shiftvalue_op_from_str): Likewise.
+
+ * mmix.h (mmix_cc1_ignored_option): Const-ify.
+ (ASM_OUTPUT_BYTE): Fix format specifier warning.
+ (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+
+2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
+
+ PR c/4448
+ * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
+ name __objc_thread_exit_status so that it matches the
+ variable defined in objc/thr.h.
+
+2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
+
+ PR bootstrap/4020
+ * mklibgcc.in: Add missing semi-colons.
+ * Makefile.in: Same.
+
+Sun Nov 18 16:47:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * tree.c (int_fits_type_p): Negative ints never fit unsigned
- types, and unsigned ints with top-bit-set never fit signed types.
- * c-lex.c (yylex): Integer constant is unsigned for purposes of
- int_fits_type_p so that it compares huge constants properly.
+ * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
+ after re-laying out decl in incomplete case.
+ (expand_expr, case ADDR_EXPR): Fix typo in copy case.
-Tue Sep 15 14:44:51 1992 Michael Meissner (meissner@osf.org)
+2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
- * i386.md (string move, string compare): Always issue cld
- instruction before doing a rep string move, so that we are
- guaranteed that the bytes are moved/compared correctly.
+ * doc/install-old.texi: Move some sections out to ...
+ * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
+ ... here. New files. Make into chapters rather than sections.
+ * doc/gcc.texi: Include the new files and add menu entries for
+ them.
+ * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
-Tue Sep 15 00:09:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+Sun Nov 18 14:13:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * gstdarg.h: (va_arg): Cast ptr to void *, then to TYPE *.
- * va-i960.h, va-m88k.h, va-mips.h, va-pa.h, va-pyr.h, va-sparc.h:
- Likewise.
+ * tree.h (TYPE_ALIGN_OK): New flag.
+ * emit-rtl.c (set_mem_attributes): Handle it.
+ * expr.c (emit_single_push_insn): Only set to alias set 0 if
+ doing sibcall optimization.
+ (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
+ when make temporary.
+ (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
+ (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
+
+ * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
+
+2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
- * rtl.c (ftell): Declaration deleted.
+ * c-decl.c (c_decode_option): Give deprecation warning for
+ -traditional.
+ * doc/invoke.texi (-traditional): Note that this option is
+ deprecated.
-Mon Sep 14 15:17:09 1992 Michael Meissner (meissner@osf.org)
+Sun Nov 18 07:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
- * configure (arg processing): Add --with-stabs switch.
- (all mips configurations, except decrose): If --with-stabs, use
- the configuration file that emits stabs as the debug debug
- configuration, rather than the native MIPS ECOFF format.
+ * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
+ arg to HOST_WIDE_INT, not long.
-Mon Sep 14 13:28:29 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+ * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
+ (HAS_INIT_SECTION): Define.
+ (REAL_ARITHMETIC): Don't undefine.
- * configure (option case statement): Index with `$next_arg' instead
- of `next_arg'. Clean up order and indentation for switches.
- (several places): Remove space around assignment `='.
- (usage printing): Don't use `-n' for echo (SysV lossage).
- Print config.status with `tail +2'.
+2001-11-18 Egor Duda <deo@logos-m.ru>
-Mon Sep 14 23:46:19 1992 Paul Eggert (eggert@twinsun.com)
+ * config/i386/cygwin.h: Strip leading '*' from name, if any.
- * c-lex.c (yylex): Warn about integers so large that they are unsigned.
+2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
- * cexp.y (parse_number): Diagnose integer constants that are too large.
- Diagnose duplicate `l' and `u' suffixes. Diagnose ` 0x ' and ` 0a '.
- Warn about integer constants that are so large that they are unsigned.
+ * Makefile.in (c-parse.o, c-common.o): Update dependencies.
+ * c-common.c: Include diagnostic.h.
+ (c_common_finish): New.
+ * c-common.h (c_common_finish): New.
+ * c-lang.c (LANG_HOOKS_FINISH): Override.
+ * c-parse.in: Don't include diagnostic.h.
+ (finish_parse): Remove.
+ * langhooks.h: Update comments.
+ * toplev.c (lang_dependent_init): New prototype.
+ (finalize): New.
+ (compile_file): Split cleanup code out to finalize.
+ (lang_dependent_init): Stop if lang_hooks.init fails.
+ (toplev_main): Update.
+ * tree.h (finish_parse): Remove.
+objc:
+ * objc-act.c (LANG_HOOKS_FINISH): Override.
-Mon Sep 14 10:26:34 1992 Charles Hannum (mycroft@hal.gnu.ai.mit.edu)
+Sat Nov 17 23:30:44 2001 Douglas B. Rupp <rupp@gnat.com>
- * reload1.c (init_reload): Fix typo in last change.
+ * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
+ * config/alpha/vms_tramp.asm: New file.
+ * config/alpha/vms-tramp.asm: Removed.
-Mon Sep 14 01:17:58 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
- * reload1.c (init_reload): For reg+reg+const, try various regs.
+ * c-common.c (struct disabled_builtin, disabled_builtins,
+ disable_builtin_function, builtin_function_disabled_p): New.
+ (builtin_function_2): Check for disabled built-in functions.
+ * c-common.h (disable_builtin_function): Declare.
+ * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
+ * doc/invoke.texi: Document -fno-builtin-FUNCTION.
+ * doc/extend.texi: Mention -fno-builtin-FUNCTION.
-Sun Sep 13 01:08:06 1992 Paul Eggert (eggert@twinsun.com)
+2001-11-17 Craig Rodrigues <rodrigc@gcc.gnu.org>
- * cexp.y (exp): Detect signed integer overflow.
- Replace `(unsigned)' with `(unsigned long)'. When
- evaluating << and >>, compute the correct answer without shifting
- by more than HOST_BITS_PER_LONG, or by a negative quantity.
- (integer_overflow, left_shift, right_shift): New functions.
+ PR target/4606
+ * config.gcc: Remove reference to va-clipper.h.
-Sun Sep 13 02:00:52 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+2001-11-17 Stan Shebs <shebs@apple.com>
- * arm.md: Clean up indentation.
+ * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
+ AltiVec-related bitfields.
- * pa.c (output_load_address): Removed. Nothing uses it.
- * pa.md (high:DI recognizer): Add return \"\".
- * pa.md (sCC, bCC expanders): Remove constraints.
- * pa.md (and-with-immediate optimizer): New pattern.
- * pa.md (ior-with-immediate optimizer): New pattern.
- * pa.c (consec_zeros_p, and_operand, ior_mask_p, ior_operand,
- output_and, output_ior): New functions.
- * pa.h (output_and, output_ior): Declare.
- * pa.h (CONST_OK_FOR_LETTER_P): Add 'O' and 'P'.
- * pa.c (compute_xdepi_operands_from_integer): New function.
- Some code come from output_zdepi.
- (output_zdepi): Removed.
- (depi_cint_operand): New name for zdepi_operand.
- * pa.md (adddi3): Extend to handle CONST_INT.
- * pa.md (movstrsi): Change `!= 4' => `< 4' in test for alignment.
- * pa.md (negsi2): Don't use @ for just one output template.
- * pa.md (and-not patterns): Make them canonical. Put operands in
- the right order.
- * pa.md (casesi): Rewrite. Used to be buggy and slow.
- * pa.md (several patterns): Make sure # of attribute alternatives
- match # of constraint alternatives.
- Return assembler output template instead of calling output_asm_insn.
- Don't write to operands[n] for n >= max operand number in the
- pattern, use xoperands instead.
+Sat Nov 17 12:06:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Sat Sep 12 15:06:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * except.c (enum eh_region_type): Add ERT_UNKNOWN.
+ (mark_eh_region, case ERT_UKNONW): New case.
- * regclass.c (record_reg_classes):
- Ignore leading % when examining constraint.
- Don't bypass usual cost computation when a pseudo "matches"
- a non-pseudo in matching operands.
+2001-11-17 Christopher Faylor <cgf@redhat.com>
+ Corinna Vinschen <vinschen@redhat.com>
+
+ * config/i386/cygwin.h: Search target specific include directory for
+ w32api stuff, if appropriate.
+
+Sat Nov 17 08:20:44 2001 Douglas Rupp <rupp@gnat.com>
- * c-lex.c (yylex): If integer value overflows so highword is negative,
- it needs unsigned long long.
+ * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
-Fri Sep 11 21:09:53 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-11-16 Aldy Hernandez <aldyh@redhat.com>
- * sys-types.h (va_alist): Supply `int' as the type to define it as.
+ * config/rs6000/rs6000.md: Change all ldvx to lvx.
-Fri Sep 11 12:39:39 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
+2001-11-16 Alexandre Oliva <aoliva@redhat.com>
- * pa.md (non-[cf]branch define_delay): Use a single delay description
- for the delay slots in "branch", "call", and "milli" insns.
- (fbranch define_delay): fbranches have a single delay slot which
- may be nullified when the branch is taken (regardless of direction
- or distance to the target.)
- (in_branch_delay attribute): Disallow fbranch insns explicitly.
- (floating point branches): Use "fbranch" attribute for these insns.
- Update output template to properly handle nullification.
+ * gensupport.c (process_rtx): Don't assume filename is the first
+ argument of any rtl.
-Fri Sep 11 10:34:45 PDT 1992 Ron Guilmette (rfg at netcom.com)
+2001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
- * c-decl.c (duplicate_decls): For file-scope redefinitions,
- error message distinguishes previous definitions from mere decls.
+ * vax-protos.h (reg_was_0_p): New prototype.
+ * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
+ * vax.c (follows_p, reg_was_0_p): New functions.
-Fri Sep 11 01:07:11 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
- * c-convert.c (convert_to_integer): Don't pass truncation thru lshift
- if shift count >= width of narrower type. Instead, just use 0.
+ * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
+ (casesi1): Likewise. Define new pattern which arises by simplification
+ when operand 1 is a constant int. Correct pattern which arises by
+ simplification when operand 1 is zero.
- * we32k.h (SIZE_TYPE): Defined.
+2001-11-16 David O'Brien <obrien@FreeBSD.org>
+
+ * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
+ arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
+ arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
+ arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
+ arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
+ arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
+ xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
+ * config/arm/aof.h: Don't include arm.h.
+ * config/arm/aout.h: Likewise.
+ * config/arm/coff.h: Don't include semi.h and aout.h.
+ * config/arm/elf.h: Don't include aout.h.
+ * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
+ (TARGET_VERSION): Undef before defining.
+ (ARM_OS_NAME): Likewise
+ (TARGET_DEFAULT): Likewise
+ (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
+ * config/arm/pe.h: Don't include arm/coff.h.
+ * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
+ SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
+ * config/arm/riscix1-1.h: Likewise.
+ * config/arm/rix-gas.h: Don't include riscix.h.
+ (DBX_CONTIN_LENGTH): Undef before defining.
+ * config/arm/semi.h: Don't include aout.h.
+ * config/arm/semiaof.h: Don't include aof.h.
+ * config/arm/strongarm-coff.h: Don't include coff.h.
+ * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
+ * config/arm/vxarm.h: Don't include arm/coff.h.
+ * config/arm/xscale-coff.h: Don't include coff.h.
-Fri Sep 11 00:03:45 1992 Paul Eggert (eggert@twinsun.com)
+Fri Nov 16 15:22:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * c-decl.c (finish_struct): Don't assume that a target integer
- fits in a HOST_WIDE_INT when checking bit-field widths.
- * c-typeck.c (build_binary_op): Likewise, when checking shift widths.
+ * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
+ emit_cmp_insn.
-Thu Sep 10 22:23:10 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-11-16 Andreas Jaeger <aj@suse.de>
- * optabs.c (expand_binop):
- Convert op1 of shift libcall to word_mode.
+ * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
+ to ....
+ (fixup_fallthru_exit_predecessor): ... this.
+ Change callers and prototype.
-Thu Sep 10 18:14:36 1992 Tim Moore (moore@defmacro.cs.utah.edu)
+2001-11-16 Bernd Schmidt <bernds@redhat.com>
- * final.c (shorten_branches): Do shorten branches with delay slots
- if the number of delay slots is constant.
- * genattrtab.c (write_const_num_delay_slots): New function;
- creates const_num_delay_slots ().
- (main): Call it.
- * genattr.c (main): Write declaration for const_num_delay_slots ().
+ * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
+ hand; don't use gen_setcc_2.
+ (ix86_expand_builtin): Fix pshufw.
+ * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
+ case UNORDERED to emit the right assembler instruction.
+ (mmx_pshufw): Lose operand 2.
+ (cvtsi2ss): Fix representation.
+ From Graham Stott:
+ (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
-Thu Sep 10 17:33:42 1992 Michael Meissner (meissner@osf.org)
+2001-11-16 Joseph S. Myers <jsm28@cam.ac.uk>
- * mips.md (all move patterns): Do not allow memory to memory or
- non-zero constant to memory moves to be generated, which causes
- reload to generate the load/store using spilled registers, and
- does not allow for efficient CSE or scheduling to be done.
+ * doc/include/linux-and-gnu.texi: Remove.
+ * doc/gnu.texi: New.
+ * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
+ * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
- * dec-gosf1.h, iris4g.h: New files.
+2001-11-16 Kazu Hirata <kazu@hxi.com>
-Thu Sep 10 12:46:17 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+ * config/a29k/a29k.c: Fix comment formatting.
+ * config/a29k/a29k.h: Likewise.
+ * config/arc/arc.c: Likewise.
+ * config/arc/arc.h: Likewise.
+ * config/vax/vax.c: Likewise.
+ * config/vax/vax.h: Likewise.
+ * config/we32k/we32k.c: Likewise.
+ * config/we32k/we32k.h: Likewise.
+
+2001-11-16 Jeff Law <law@redhat.com>
+
+ * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
+ creating a new jump insn.
+
+Fri Nov 13 09:06:25 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
+ copy misaligned data.
+ * varasm.c (assemble_variable): Set alignment into MEM when changed.
+
+2001-11-16 Graham Stott <grahams@redhat.com>
+
+ * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
+ OPALIGN type.
+
+2001-11-16 Olivier Hainque <hainque@act-europe.fr>
+
+ * except.c: Support for catching a list of types with a single handler
+ (struct eh_region): Change type and filter to lists for catch regions.
+ (mark_eh_region): Mark the filter list for GC also.
+ (expand_start_catch): Always build a list if argument not NULL and
+ register each type of the list through add_type_for_runtime.
+ (duplicate_eh_region_1): Change type into type_list for catch regions.
+ (assign_filter_values): Assign a filter to each type associated with a
+ catch region. Assign filter for NULL types in a unique entry in the
+ filter list.
+ (build_post_landing_pads): Emit compare and jump for each filter of
+ the list associated with a catch region.
+ (reachable_next_level): When the type thrown is known, stop the search
+ as soon as one type within a catch list matches. Also, a handler is
+ potentially reachable only if at least one of the types it catches
+ has not been previously caught.
+ (collect_one_action_chain): Retrieve the filter for a NULL type list
+ from the first filter list entry. For non NULL type lists, add an
+ action record for every filter assigned.
+ * except.h: Reflect changes in comment before expand_start_catch.
+
+Fri Nov 16 07:12:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
+ BLKmode.
+
+Fri Nov 16 06:37:05 2001 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
+
+2001-11-16 Jakub Jelinek <jakub@redhat.com>
+
+ * c-lang.c (finish_file): Don't emit static inline functions if
+ they weren't referenced.
+
+2001-11-15 Stan Shebs <shebs@apple.com>
+
+ * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
- * pa.md (casesi): Add `&' to constraint for clobber operand.
+2001-11-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
- * optabs.c (expand_binop): Fix typo, `mode' => `methods'.
+ * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
+ call.
+ * config/i386/i386.md: Likewise.
+
+Thu Nov 15 21:40:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * timevar.c (rtl.h): Include so get fancy abort.
+
+2001-11-15 Dale Johannesen <dalej@apple.com>
+
+ * config/darwin.h (SELECT_RTX_SECTION): Force address
+ initializers into 'const' section
+ * config/rs6000/rs6000.c (rs6000_emit_cmove): Fix mode of
+ if_then_else to match result, not operands
+
+Thu Nov 15 17:57:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
+ * emit-rtl.c (change_address): Fix typo in default alignment.
+ (adjust_address_1): Use mode of NEW, not MODE, when setting size.
+ * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
+ * rtl.h (REGNO_PTR_FRAME_P): New macro.
-Thu Sep 10 00:21:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * expr.c (store_field): Pass tree instead of max size; callers changed.
+ Change handling of alignment.
+ Only copy to_rtx if is TARGET.
+ (expand_expr_unaligned): Delete; callers now use expand_expr.
+ (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
+ (expand_assignment): Change handling of alignment.
+ Only copy to_rtx if was original.
+ (get_inner_reference): No longer return alginment; callers changed.
+ (expand_expr, case COMPONENT_REF): Change handling of alignment.
+ (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
+ (compare_from_rtx): Delete ALIGN parm; all callers changed.
+ (do_compare_rtx_and_jump): Likewise.
+ * expr.h: Reflect above changes.
+ * tree.h: Likewise.
+ * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
+ to get_inner_reference.
+ * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
+ * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
+ * optabs.c: Likewise.
+ (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed.
+ (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
+ * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
+ compare_rtx_and_jump, and emit_cmp_jump_insns.
+ * fold-const.c: Remove PALIGN in calls to get_inner_reference.
+ * function.c (assign_stack_temp_for_type): No longer static.
+ * optabs.h (emit_cmp_insn): Remove ALIGN parm.
+ (prepare_cmp_insn): Delete declaration.
+ * rtl.h (assign_stack_temp_for_type): Add declaration.
+ * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
+ * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
+ * config/i386/i386.c,config/mips/mips.c: Likewise.
+ * config/i860/i860.c, config/ia64/ia64.c: Likewise.
+ * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
+
+2001-11-15 Stan Shebs <shebs@apple.com>
+
+ * config/rs6000/rs6000.h: Fix a comment typo.
+ (RTX_COSTS): Sort processor versions better.
+
+2001-11-15 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.md: Fix insn length of bit insns.
+
+2001-11-15 Jason Merrill <jason@redhat.com>
+
+ * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
+ DIEs if there were errors in the source.
- * optabs.c (expand_binop): Delete #ifdef GPC; complex code now uncond.
+ * config/alpha/alpha-interix.h, config/alpha/elf.h,
+ config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
+ config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
+ config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
+ config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
+ config/elfos.h, config/lynx.h, config/netware.h,
+ config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
+ config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
+ uses to use ASM_LONG.
- * optabs.c (init_fixtab): Fix typo for fix_truncdfqi2.
+2001-11-15 Alan Matsuoka <alanm@redhat.com>
-Wed Sep 9 13:25:53 PDT 1992 Ron Guilmette (rfg at netcom.com)
+ * gensupport.c process_include : Change call to alloca to
+ xmalloc.
- * c-common.c (declare_function_name): Allow for anonymous function.
+2001-11-15 Aldy Hernandez <aldyh@redhat.com>
-Wed Sep 9 15:56:09 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/rs6000/rs6000.md: Use spaces instead of tabs in output
+ templates.
- * Makefile.in (mostlyclean): Delete xlimits.h.
+Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * final.c (output_addr_const):
- If 2nd arg of MINUS is negative integer, put it in parens.
+ * final.c (alter_subreg): If simplify_subreg can't do anything,
+ handle REG ourselves and abort for others.
+
+2001-11-15 Richard Hodson <hodsonr@dionecorp.com>
+
+ * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
+ routines.
+
+2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * fix-header.c (read_scan_file): Update.
+
+Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * toplev.c (toplev_main): Don't start timing until after
+ command-line options are parsed.
+
+2001-11-15 Andreas Schwab <schwab@suse.de>
+
+ * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
+ makefile frag, not host makefile frag.
+ (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
+ (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
+ used.
+ (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
+ * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
+ * config/m88k/t-dgux (STMP_FIXPROTO): Define.
+ * config/i386/t-cygwin (STMP_FIXPROTO): Define.
+ * config/i386/t-dgux (STMP_FIXPROTO): Define.
+ * config/x-interix: Don't define STMP_FIXPROTO and
+ FIXPROTO_DEFINES.
+ * config/t-interix: New file, define STMP_FIXPROTO.
+ * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
+ * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
+ * config/t-svr4 (FIXPROTO_DEFINES): Define.
+ * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
+ * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
+ * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
+ * config/m68k/t-hp3200: Renamed from x-hp3200.
+ * config/i370/t-oe: Renamed from x-oe.
+ * config/mips/t-iris: Renamed from x-iris.
+ * config/pa/t-bsd: Renamed from x-pa.
+ * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
+ * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
+ config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
+ config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
+ config/rs6000/x-cygwin: Remove files.
+
+ * configure.in: Check for target objdump and use that in eh_frame
+ optimization test.
+ * configure: Regenerated.
+
+2001-11-15 Jakub Jelinek <jakub@redhat.com>
+
+ * jump.c (squeeze_notes): Return true if no real insns were found.
+ * rtl.h (squeeze_notes): Adjust prototype.
+ * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
+ squeeze_notes finds no real instructions, abort.
+ (merge_blocks_move_successor_nojumps): Likewise.
+ * loop.c (find_and_verify_loops): Likewise.
+ * stmt.c (expand_end_case): Likewise.
+ * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
+ find any real instructions.
+
+ * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
+
+ * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
+ conditional jump, request updating life into for the block
+ containing it. Fix a typo which prevented life info update.
+ Clear blocks bitmap before using it.
+
+2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-common.c: Include c-lex.h.
+ (c_common_lang_init): Change prototype. Call init_c_lex and
+ init_pragma from here.
+ * c-common.h (c_common_lang_init): Change prototype.
+ * c-decl.c (init_decl_processing): Rename. Call c_parse_init.
+ * c-lang.c (c_init): Change prototype. Update.
+ (c_init_options): Update.
+ * c-lex.c (cpp_filename): Remove.
+ (init_c_lex): Update. Read the main file, and get the original
+ file name.
+ (yyparse): Finish the command line options.
+ * c-parse.in (c_parse_init): Call init_reswords here.
+ (init_parse): Remove.
+ * c-tree.h (c_init_decl_processing): New.
+ * cpphash.c (_cpp_init_hashtable): After initializing the hash
+ table, populate it.
+ * cppinit.c (read_original_filename, cpp_finish_options): New.
+ (cpp_create_reader): New prototype. Defer hash table initialization.
+ (cpp_start_read): Rename cpp_read_main_file. Initialize the
+ hash table. Get the original filename.
+ * cpplib.h (cpp_create_reader): Update.
+ (cpp_start_read): Remove.
+ (cpp_read_main_file, cpp_finish_options): New.
+ * cppmain.c (main, do_preprocessing): Update.
+ * langhooks.h (struct langhooks): Update init prototype.
+ * toplev.c (general_init, parse_options_and_default_flags,
+ process_options, lang_indpendent_init, lang_dependent_init,
+ init_asm_output): New; perform the bulk of initialization.
+ (compile_file): Move most of initialization to above functions.
+ (debug_hooks): Initialize statically.
+ (set_Wunused): Relocate.
+ (toplev_main): Move most of initialization to other init functions.
+ Have a clear logic flow.
+ * tree.h (init_parse, init_decl_processing): Remove.
+objc:
+ * objc-act.c (objc_init): Update prototype, combine with old
+ init_parse.
+ (objc_init_options): Update.
+
+
+2001-11-15 Andreas Jaeger <aj@suse.de>
+
+ * cfgrtl.c (purge_all_dead_edges): Use int as argument for
+ portability.
+ * basic-block.h: Adjust prototype.
+
+2001-11-15 Kazu Hirata <kazu@hxi.com>
+
+ * config/rs6000/aix31.h: Fix comment formatting.
+ * config/rs6000/beos.h: Likewise.
+ * config/rs6000/darwin.h: Likewise.
+ * config/rs6000/eabi.asm: Likewise.
+ * config/rs6000/linux.h: Likewise.
+ * config/rs6000/linux64.h: Likewise.
+ * config/rs6000/lynx.h: Likewise.
+ * config/rs6000/netbsd.h: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rs6000/rs6000.h: Likewise.
+ * config/rs6000/rs6000.md: Likewise.
+ * config/rs6000/sol2.h: Likewise.
+ * config/rs6000/tramp.asm: Likewise.
+ * config/rs6000/xcoff.h: Likewise.
+ * config/rs6000/xm-beos.h: Likewise.
+
+2001-11-14 Alan Matsuoka <alanm@redhat.com>
+
+ * rtl.def (INCLUDE) : Define.
+ * gensupport.c (init_include_reader, process_include,
+ save_string) : New functions to implement an include facility
+ in .md files.
+ * gensupport.h : Add prototype for init_md_reader_args.
+ * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
+ genextract.c genflags.c genopinit.c genoutput.c
+ genpeep.c genrecog.c: Change call to init_md_reader to
+ init_md_reader_args.
+ * md.texi: Document (include "path") and -I directives for RTL
+ generation tools.
+
+2001-11-14 DJ Delorie <dj@redhat.com>
+
+ * integrate.c (get_hard_reg_initial_reg): New.
+ * integrate.h (get_hard_reg_initial_reg): Prototype.
+ * local-alloc.c (block_alloc): Don't tie pseudos that
+ represent call-saved hard regs' initial values.
+
+2001-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
+ recursion.
+
+2001-11-14 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold): Optimize strlen comparisons against zero.
+
+2001-11-14 David O'Brien <obrien@FreeBSD.org>
+
+ * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
+ sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
+ sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
+ sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
+ sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
+ sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
+ sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
+ Include various CPU headers via tm_file. a.out based platforms now
+ properly include sparc/aout.h. sol2.h usage now implies including
+ elfos.h, svr4.h, and sparc/sysv4.h.
+ * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
+ Also define to '1'.
+ * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
+ SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
+ DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
+ Remove. They are a.out specific and belong in sparc/aout.h.
+ * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
+ ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define. Moved here from
+ sparc/sparc.h.
+ * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
+ TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
+ Moved here from sparc/sparc.h.
+ * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
+ defining.
+ * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
+ * config/sparc/lynx.h: Don't include lynx.h.
+ (SELECT_SECTION): Do not undef.
+ * config/sparc/openbsd.h: Don't include sparc/sparc.h.
+ * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
+ and sparc/sysv4.h.
+ * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
+ * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define. Get from
+ sparc/aout.h now.
+ * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
+ Don't undef, there is no need.
+ * config/sparc/splet.h (CPP_PREDEFINES): Define.
+ * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
+ * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
+ Don't include sparc/sparc.h.
+ * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
+ SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
+ DATA_SECTION_ASM_OP): Don't undef, there is no need now. Don't include
+ elfos.h and svr4.h.
+ (TARGET_VERSION): Define.
+ * config/sparc/vxsim.h (TARGET_VERSION): Define.
+
+Wed Nov 14 19:46:08 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
+ (cfg_layout_finalize): Use it.
+ * bb-reorder.c (HAVE_epilogue): Remove.
+ (make_reorder_chain): Do not care special placement of
+ last basic block.
+
+ * predict.c (expected_value_to_br_prob): Delete the note
+ once transformed.
+
+ * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
+ measure integration time separately.
+
+Wed Nov 14 12:30:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * function.c (struct temp_slot): ALIGN now unsigned.
+
+2001-11-14 Kazu Hirata <kazu@hxi.com>
+
+ * config/dsp16xx/dsp16xx.c: Fix comment formatting.
+ * config/dsp16xx/dsp16xx.h: Likewise.
+ * config/dsp16xx/dsp16xx.md: Likewise.
+
+2001-11-14 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (get_shift_alg): Reorganize the code
+ that deals with 7-bit shifts in HImode.
+
+Wed Nov 14 14:17:05 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
+ * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
+ (final_scan_insn): Update call of alter_subreg.
+ (cleanup_subreg_operands): Likewise.
+ (alter_subreg): Rewrite using simplify_subreg.
+ (output_address, output_operand): Update call of alter_subreg.
+ * output.h (alter_subreg): Update prototype.
+ * sdbout.c (sdbout_symbol): Update call of alter_subreg.
+ * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
+ * Makefile.in (final.o): Add dependency on expr.h
+
+Wed Nov 14 06:37:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * c-lang.c (finish_file): Make I unsigned to eliminate warning.
+
+2001-11-13 Jeff Sturm <jsturm@one-point.com>
+
+ * doc/install.texi (sparc-*-linux*): Mention requirements for
+ binutils and glibc.
+
+2001-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * Makefile.in (POD2MAN): Don't include --section=1.
+ (manext): Rename to man1ext. All users changed.
+ (man7ext): New.
+ (man7dir): New.
+ (generated-manpages): Also depend on $(docdir)/gfdl.7,
+ $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
+ ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
+ --section=1 in calls to $(POD2MAN).
+ ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
+ (maintainer-clean, install, uninstall): Handle the new man pages.
+ ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
+ (installdirs): Create man7dir.
+ * doc/cpp.texi: Include GFDL in this manual. In the man page,
+ refer to gfdl(7) for the GFDL. Apply Front Cover and Back Cover
+ texts to man page. Include gpl(7), gfdl(7) and fsf-funding(7) in
+ the SEE ALSO man page section.
+ * doc/gcov.texi: Apply GFDL to man page. Include gpl(7), gfdl(7)
+ and fsf-funding(7) in the SEE ALSO man page section.
+ * doc/invoke.texi: Apply GFDL to man page. Include gpl(7),
+ gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
+ * doc/include/fdl.texi, doc/include/funding.texi,
+ doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
+ * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
+
+2001-11-13 Richard Henderson <rth@redhat.com>
+
+ * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
+ as appropriate for the artificial decl.
+
+2001-11-13 Richard Henderson <rth@redhat.com>
+
+ * loop.c (combine_movables): Turn off combination until
+ move_movables validation bugs are fixed.
+
+2001-11-13 DJ Delorie <dj@redhat.com>
+
+ * config.gcc (powerpc|rs6000): Set default cpp options based
+ on --with-cpu settings.
+ * config/rs6000/softfloat.h: New.
+
+2001-11-13 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (shift_alg_si): Use special code for
+ 25-bit shifts on H8S.
+ (get_shift_alg): Generate special code for 25-bit shifts on
+ H8S.
+
+2001-11-13 Jakub Jelinek <jakub@redhat.com>
+
+ * emit-rtl.c (adjust_address_1): Add ADJUST argument.
+ (adjust_automodify_address_1): New.
+ * expr.h (adjust_address, adjust_address_nv): Adjust.
+ (adjust_automodify_address, adjust_automodify_address_nv): Define.
+ (adjust_address_1): Update prototype.
+ (adjust_automodify_address_1): Add prototype.
+ * expr.c (move_by_pieces_1): Use adjust_automodify_address.
+ (store_by_pieces_2): Likewise.
+
+Tue Nov 13 05:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * Makefile.in (explow.o): Now depends on ggc.h.
+ * explow.c (ggc.h): Include.
+ (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
+
+ * Makefile.in (expr.o): Depends on insn-attr.h.
+ * expr.c (insn-attr.h): New include.
+ (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
+ of MEM.
+ (highest_pow2_factor, case INTEGER_CST): Handle negative values.
+ (expand_expr): Remove unneeded mark_temp_addr_taken calls and
+ clean up related usage in ADDR_EXPR.
+ (expand_expr_unaligned): Likewise.
+
+ * emit-rtl.c (change_address): Fix typo in alias setting.
+
+2001-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (cfgcleanup.o): Depend on insn-config.h
+
+2001-11-12 Craig Rodrigues <rodrigc@gcc.gnu.org>
+
+ PR bootstrap/3451
+ * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
+ GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
+
+2001-11-12 David O'Brien <obrien@FreeBSD.org>
+
+ * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
+ sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
+ sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
+ sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
+ sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
+ sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
+ sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
+ sparc64-*-linux*): Include various CPU headers via tm_file.
+ * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
+ (SELECT_SECTION): Likewise.
+ (SELECT_RTX_SECTION): Likewise.
+ * config/sparc/sparc_bi.h: New file.
+ * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
+ * config/sparc/linux-aout.h: Likewise.
+ * config/sparc/linux.h: Don't include sparc/sysv4.h.
+ * config/sparc/linux64.h: Likewise.
+ (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
+ * config/sparc/lite.h: Don't include sparc/sparc.h and gofast.h.
+ * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
+ and dbxcoff.h
+ (ASM_OUTPUT_IDENT): Do not #undef.
+ (SELECT_SECTION): Likewise.
+ (SELECT_RTX_SECTION): Likewise.
+ * config/sparc/liteelf.h: Don't include gofast.h.
+ * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
+ * config/sparc/lynx.h: Don't include sparc/sparc.h.
+ * config/sparc/pbd.h: Likewise.
+ * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
+ * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
+ * config/sparc/rtemself.h: Don't include rtems.h.
+ * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
+ * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
+ sparc_bi.h instead.
+ * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
+ * config/sparc/sol2.h: Include sparc/sparc.h directly.
+ * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
+ * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
+ * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
+ * config/sparc/sp86x-elf.h: Don't include gofast.h.
+ * config/sparc/splet.h: Don't include sparc/aout.h.
+ * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
+ * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
+ * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
+ * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
+ * config/sparc/vxsparc64.h: Don't include gofast.h.
+ (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
+
+2001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/standards.texi: Mention C99 TC1.
+
+2001-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * mips-protos.h (mips_output_conditional_branch): Const-ify.
+ * mips.c (mips_output_conditional_branch): Likewise.
+
+2001-11-12 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (shift_alg_si): Use special code for
+ 15-bit logical shifts and 31-bit logical shifts.
+ (get_shift_alg): Generate special code for 15-bit and 31-bit
+ logical shifts.
+
+2001-11-12 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (shift_alg_qi): Use rotations when
+ doing 6-bit logical shifts on H8S.
+ (shift_alg_qi): Use special code for 21-bit shifts on H8S.
+ (get_shift_alg): Generate special code for 21-bit shifts on
+ H8S.
+
+2001-11-12 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (get_shift_alg): Remove a redundant
+ label.
+
+Mon Nov 12 11:58:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * alias.c (nonoverlapping_memrefs_p): Only update size from memref
+ if both size and offset known.
+
+2001-11-12 David O'Brien <obrien@FreeBSD.org>
+
+ * config/ia64/freebsd.h: Fix misspelling.
+
+2001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/gcc.texi: Move several chapters out to ...
+ * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
+ doc/include/linux-and-gnu.texi, doc/interface.texi,
+ doc/makefile.texi, doc/passes.texi, doc/portability.texi:
+ ... here. New files.
+ * doc/gcc.texi, doc/contrib.texi: Move section headings into
+ contrib.texi.
+ * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
+
+2001-11-12 Kazu Hirata <kazu@hxi.com>
+
+ * config/alpha/alpha-interix.h: Fix comment formatting.
+ * config/alpha/alpha.c: Likewise.
+ * config/alpha/alpha.h: Likewise.
+ * config/alpha/alpha32.h: Likewise.
+ * config/alpha/freebsd.h: Likewise.
+ * config/alpha/unicosmk.h: Likewise.
+ * config/alpha/vms.h: Likewise.
+
+2001-11-12 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
+
+2001-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
+ numbers.
+
+Mon Nov 12 05:18:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * emit-rtl.c (set_mem_attributes): If making object, can set alignment
+ from type.
+ (replace_equiv_address): Call update_temp_slot_address.
+
+ * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
+
+ * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
+
+2001-11-12 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (shift_alg_qi): New.
+ (shift_alg_hi): Likewise.
+ (shift_alg_si): Likewise.
+ (get_shift_alg): Change the type of count to unsigned int.
+ Use the tables.
+
+2001-11-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
+ * c-decl.c (c_expand_body): Take argument can_defer_p. Use it
+ to decide whether to defer a function.
+ (finish_function): Adjust.
+ (c_expand_deferred_function): New function.
+ * c-lang.c (deferred_fns): New variable.
+ (c_init): Initialize it, and mark it as a root.
+ (defer_fn): New function.
+ (finish_file): Expand all deferred functions.
+ * c-tree.h (defer_fn): Declare.
+ (c_expand_deferred_function): Likewise.
+ * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
+ * objc-act.c (deferred_fns): New variable.
+ (objc_init): Initialize it, and mark it as a root.
+ (defer_fn): New function.
+ (finish_file): Expand all deferred functions.
+
+2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * alpha.c (unicosmk_special_name): Prototype.
+ (unicosmk_ssib_name): Delete unused variable.
+ * alpha/unicosmk.h (common_section, ssib_section): Prototype.
+ * alpha/vms.h (PREFIX): Undef before defining.
+ * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
+ * i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro
+ controlling usage. Const-ify.
+ (alias_number): Delete unused variable.
+ * m32r/m32r.c (m32r_sched_init): Add missing argument.
+ (m32r_expand_block_move): Fix uninitialized warnings.
+ * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
+ always true' warnings.
+ * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
+ * sh/sh.c: Include "integrate.h".
+ (output_far_jump): Fix uninitialized warning.
+ * final.c (shorten_branches): Avoid automatic aggregate
+ initialization.
+ * integrate.c (subst_constants): Likewise.
+
+2001-11-11 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
+ (get_shift_alg): Remove redundant code.
+
+2001-11-11 Kazu Hirata <kazu@hxi.com>
+
+ * config/pa/milli64.S: Fix comment formatting.
+ * config/pa/pa-64.h: Likewise.
+ * config/pa/pa-linux.h: Likewise.
+ * config/pa/pa-protos.h: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/pa/pa.h: Likewise.
+ * config/pa/pa32-linux.h: Likewise.
+ * config/pa/pa32-regs.h: Likewise.
+ * config/pa/pa64-hpux.h: Likewise.
+ * config/pa/pa64-regs.h: Likewise.
+ * config/pa/som.h: Likewise.
+
+2001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/gcc.texi: Move several chapters out to ...
+ * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
+ doc/service.texi, doc/standards.texi, doc/trouble.texi,
+ doc/vms.texi: ... here. New files.
+ * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
+
+2001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
+ cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
+ collect2.c, combine.c, config.in, configure, configure.in,
+ conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
+ genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
+ reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
+ spelling errors.
+
+Sun Nov 11 05:56:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
+ Adjust operand number in CONST_DOUBLE.
+
+ * expmed.c (extract_bit_field): No longer pass in alignment.
+ (extract_fixed_bit_field, extract_split_bit_field): Likewise.
+ (store_bit_field, store_fixed_bit_field, store_split_bit_field):
+ Likewise.
+ * expr.c (store_constructor, store_constructor_field): Likewise.
+ (store_field, emit_group_load, emit_group_store): Likewise.
+ * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
+ (store_bit_field, extract_bit_field): Likewise.
+ * calls.c, expr.c, function.c: Change calls to above functions.
+ * ifcvt.c, stmt.c: Likewise.
+
+ * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
+ constant and one is on frame.
+ If know memref offset, adjust size from decl.
+
+2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
+ format specifier warning.
+ * convex.h (ASM_OUTPUT_BYTE): Likewise.
+ * elfos.h (ALIGN_ASM_OP): Undef before defining.
+ * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
+ warning.
+ * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ * i386-interix.h (gen_stdcall_suffix): Prototype.
+ * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
+ * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
+ ASM_OUTPUT_LONG_DOUBLE): Likewise.
+ * i386/interix.c (gen_stdcall_suffix): Const-ify.
+ * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
+ ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
+ specifier warnings.
+ * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
+ ASM_OUTPUT_LONG_DOUBLE): Likewise.
+ * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
+ ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
+ * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
+ Likewise.
+ * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
+ Likewise.
+ * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
+ * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
+ ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
+ Likewise.
+ * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
+ Likewise.
+ * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
+ Likewise.
+ * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
+ * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
+ * m68k/news.h (PRINT_OPERAND): Likewise.
+ * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
+ ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
+ * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
+ * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
+ definition.
+ * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
+ ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
+ ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
+ * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
+ * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
+ ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
+ PRINT_OPERAND): Likewise.
+ * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
+ Likewise.
+ * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
+ * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
+ * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
+ * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
+ * mips.c (mips_output_external_libcall): Mark parameter with
+ ATTRIBUTE_UNUSED.
+ (mips_asm_file_start): Move variable into the scope where it's
+ used.
+ * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
+ * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
+ * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
+ * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ * ns32k.c (print_operand): Likewise.
+ * pa.c (print_operand, output_div_insn): Likewise.
+ * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
+ ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
+ * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
+ * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
+ specifier warnings.
+ * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
+ * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
+ specifier warnings.
+ * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+
+ * sdbout.c (sdbout_end_epilogue): Mark parameter with
+ ATTRIBUTE_UNUSED.
+ * varasm.c (assemble_global): Likewise.
+
+2001-11-11 H.J. Lu <hjl@gnu.org>
+
+ * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
+
+Sun Nov 11 01:26:00 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * final.c (*_MAX_SKIP): Use *_max_skip variables.
+ * flags.h (align_loops_max_skip, align_jumps_max_skip,
+ align_labels_max_skip): New global variables.
+ * toplev.c (align_loops_max_skip, align_jumps_max_skip,
+ align_labels_max_skip): New global variables.
+ (toplev_main): Set new variables.
+ * i386.c (override_options): Set max_skip values.
+
+2001-11-10 Geoffrey Keating <geoffk@redhat.com>
+
+ * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
+ * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
+ * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
+ don't print an @fptr for labels either.
+ (xstormy16_output_addr_vec): Don't print @fptr here.
+ * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
+
+Sat Nov 10 08:50:50 2001 Jeffrey A Law (law@cygnus.com)
+
+ * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
+ an ANSI/ISO definitino.
+ (ssa_const_prop): Likewise.
+
+2001-11-10 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
+ altivec registers.
+
+2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
+ * cpplex.c (hex_digit_value): Use hex_p/hex_value.
+ * cppmain.c (general_init): Call hex_init.
+ * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
+
+ * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
+
+ * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
+ of dgux.c:output_file_start().
+
+ * i386/dgux.c: Delete file.
+
+2001-11-09 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (decl_in_text_section): New.
+ (current_file_function_operand): Use it.
+ (alpha_encode_section_info, alpha_end_function): Likewise.
+
+2001-11-07 David O'Brien <obrien@FreeBSD.org>
+
+ * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
+ * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
+ they are OS specific. Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
+ so OS specific files and use CPP_PREDEFINES for their needs.
+ * config/i64/elf.h (TARGET_VERSION): Add. Also, move inclusion of
+ target headers to tm_file.
+ * config/ia64/aix.h (TARGET_VERSION): Likewise.
+ * config/ia64/hpux.h (TARGET_VERSION): Likewise.
+ * config/ia64/linux.h (TARGET_VERSION): Likewise.
+ (FUNCTION_PROFILER): Remove.
+ * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
+ version in config/ia64/linux.h.
+ * config/ia64/freebsd.h: New file.
+ * config/freebsd.h: Tidy up.
+ (_USING_CONFIG_FREEBSD): Define.
+ (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
+ (FBSD_CPP_SPEC): Define generic FreeBSD spec.
+ (FBSD_STARTFILE_SPEC): Likewise.
+ (FBSD_ENDFILE_SPEC): Likewise.
+ (FBSD_LIB_SPEC): Likewise.
+ (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
+ (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
+ set an ELF-improper one.
+
+2001-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
+ constant can be loaded in a single instruction to a register. When
+ loading immediate constants, use PLUS instead of HIGH/LO_SUM. Use
+ depdi for insertion of most significant 32-bits on 64-bit hosts.
+ * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
+ with ldil/ldo/depdi instruction sequence on 64-bit hosts.
+ * pa.md: New addmove pattern for adding constant_int to HImode
+ register and moving result to HImode register. Remove HImode HIGH
+ and LO_SUM patterns.
-Wed Sep 9 10:10:30 1992 Michael Meissner (meissner@osf.org)
+2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
- * va-mips.h (va_arg): Handle structures larger than 8 bytes.
- (all macros): Put __ in front of all macro arguments.
+ * Makefile.in: Update.
+ * c-decl.c (print_lang_decl, print_lang_type): Remove.
+ (print_lang_identifier): Rename c_print_identifier.
+ * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
+ (print_lang_statistics, lang_print_xnode): Remove.
+ * c-parse.in (set_yydebug): Rename c_set_yydebug.
+ * c-tree.h (c_set_yydebug, c_print_identifier): New.
+ * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
+ LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
+ LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
+ LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
+ (LANG_HOOKS_INITIALIZER): Update.
+ * langhooks.h (struct lang_hooks): New members.
+ (lang_print_tree_hook): New.
+ * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
+ * print-tree.c: Include langhooks.h.
+ (print_node): Update.
+ * toplev.c (decode_d_option): Update.
+ * tree.c: Include langhooks.h.
+ (dump_tree_statistics): Update.
+ * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
+ print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
+objc:
+ * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
+ LANG_HOOKS_SET_YYDEBUG): Override.
+ (lang_print_xnode, print_lang_statistics): Remove.
-Wed Sep 9 00:45:02 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-11-09 Richard Henderson <rth@redhat.com>
- * sol2-crt1.asm (.nope): Really store into environ.
+ * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
+ on the symbol string.
- * libgcc2.c (__gcc_bcmp): New function, in cond on L__gcc_bcmp.
- * Makefile.in (LIB2FUNCS): Add L__gcc_bcmp.
+2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * expr.c (expand_expr): Support IN_EXPR.
+ * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
+ ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
+ * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
-Tue Sep 8 20:04:43 1992 Paul Eggert (eggert@twinsun.com)
+ * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
- * c-convert.c (convert_to_integer): When optimizing LSHIFT_EXPR and
- RSHIFT_EXPR, do compares at tree level.
+ * tlink.c (recompile_files): Copy strings passed to `putenv'.
- * tree.c (build_index_type, build_index_2_type): Don't pass
- HOST_WIDE_INT to routine expecting an int. Don't pass negative
- value even if hash code is INT_MIN.
+2001-11-09 Geoffrey Keating <geoffk@redhat.com>
-Tue Sep 8 17:35:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
+ (TYPE_READONLY): Likewise.
- * dbxout.c (dbxout_type_fields): Handle nameless subrecords for Pascal.
- (dbxout_type): Handle CHAR_TYPE, BOOLEAN_TYPE. FILE_TYPE, SET_TYPE.
+ * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
+
+ * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
+ don't pass --gdwarf2 to the assembler if the compiler will also
+ provide debug info.
+
+ * config/stormy16/stormy16.c (xstormy16_expand_casesi):
+ Don't change INDEX.
+
+Fri Nov 9 17:51:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * alias.c (nonoverlapping_memrefs_p): New function.
+ (true_dependence, canon_true_depenence, write_dependence_p): Call it.
+
+ * emit-rtl.c (set_mem_attributes): Get alignments for constants.
+
+2001-11-09 Aldy Hernandez <aldyh@redhat.com>
+
+ * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
+ (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
+ generating altivec code.
+ (FIXED_REGISTERS): VRSAVE is fixed.
+ (CALL_USED_REGISTERS): VRSAVE is call used.
+
+2001-11-09 Jason Eckhardt <jle@rice.edu>
+
+ * config/mips/mips.c (mips_output_conditional_branch): Do not hard
+ code the branch target as ".+16/.+12", but rather use labels.
+
+Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com)
+
+ * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
+ to work around limitations of certain versions of GAS.
+
+ * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
+ (muldi3): Update due to SUBREG_BYTE changes.
+ (casesi): Similarly.
+
+2001-11-09 Zack Weinberg <zack@codesourcery.com>
+
+ * doc/invoke.texi: Remove comment referring to -xf77-version.
+
+2001-11-09 Kazu Hirata <kazu@hxi.com>
+
+ * config/convex/convex.c: Fix comment formatting.
+ * config/convex/convex.h: Likewise.
- * news.h (ASM_OUTPUT_OPCODE): Deleted.
+2001-11-08 Zack Weinberg <zack@codesourcery.com>
- * c-parse.y (stmt): In for stmt, put proper lineno before increment.
- Don't call position_after_white_space.
+ * Makefile.in (.po.pox): Look both in srcdir and builddir
+ for $(PACKAGE).pot.
+ (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
+ to the source directory.
+
+2001-11-09 Ben Elliston <bje@redhat.com>
+ Michael Meissner <meissner@redhat.com>
+ Andrew MacLeod <amacleod@redhat.com>
+ Richard Henderson <rth@redhat.com>
+ Nick Clifton <nickc@redhat.com>
+ Catherine Moore <clm@redhat.com>
-Tue Sep 8 06:31:17 1992 Michael Meissner (meissner@osf.org)
+ * m32r.c: Add support for m32rx processor.
+ * m32r.h: Ditto.
+ * m32r.md: Ditto.
+ * t-m32r: Ditto.
+ * m32r-protos.h: Add prototypes for m32rx functions.
+ * doc/invoke.texi: Document -m32rx option.
- * cp-typeck.c (constant_print_warning): Deleted.
+2001-11-09 Jakub Jelinek <jakub@redhat.com>
-Tue Sep 8 05:26:19 1992 Mike Stump (mrs@hal)
+ * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
+ or after reload.
- Tue Aug 18 23:56:16 1992 Ron Guilmette (rfg at netcom.com)
+2001-11-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
- * tree.h (BINFO_VPTR_FIELD): Added to support debugging
- information about virtual base class pointers.
+ * doc/install.texi2html: Use $MAKEINFO --no-split.
-Mon Sep 7 19:39:45 1992 Brendan Kehoe (brendan@cygnus.com)
+2001-11-09 Andreas Schwab <schwab@suse.de>
- * c-typeck.c (constant_print_warning): Deleted.
- * c-common.c: Moved here.
+ * Makefile.in ($(HOST_PREFIX_1)rtl.o,
+ $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
+ $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
+ $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
+ $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
-Mon Sep 7 17:03:07 1992 Paul Eggert (eggert@twinsun.com)
+2001-11-09 H.J. Lu <hjl@gnu.org>
- * fold-const.c (fold): Check abs for constant integer overflow.
+ * config/mips/mips.c (mips_output_function_prologues): Cast
+ `tsize' to long for output.
-Mon Sep 7 01:31:42 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
- * c-common.c (check_case_value): Call constant_expression_warning.
+ * c-lang.c (LANG_HOOKS_NAME): New.
+ (lang_hooks): Constify.
+ (c_init_options): Update.
+ (lang_identify): Remove.
+ * c-parse.in (language_string): Remove.
+ * dbxout.c: Include langhooks.h.
+ (dbxout_symbol_location): Update.
+ * dwarf2out.c: Include langhooks.h.
+ (gen_compile_unit_die): Update.
+ * dwarfout.c: Include langhooks.h.
+ (prototyped_attribute, output_compile_unit_die): Update.
+ * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
+ (LANG_HOOKS_INITIALIZER): Update.
+ * langhooks.h (struct lang_hooks): New members. Constify.
+ * stringpool.c: Don't include toplev.h.
+ (set_identifier_size): Remove.
+ * toplev.c (toplev_main): Initialize identifier size.
+ (print_version): Update.
+ * tree.h (language_string, init_lex, lang_identify,
+ set_identifier_size): Remove.
+ * Makefile.in: Update dependencies.
+ * config/darwin.c: Include langhooks.h.
+ (func_name_maybe_scoped): Update.
+ * config/darwin.h (ASM_END_FILE): Update.
+ * config/nextstep.h (ASM_END_FILE): Update.
+ * config/nextstep21.h (ASM_END_FILE): Update.
+ * config/i386/sun386.h (ASM_END_FILE): Update.
+ * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
+ (rs6000_output_function_epilogue): Update.
+objc:
+ * objc-act.c (LANG_HOOKS_NAME): Override.
+ (struct lang_hooks): Constify.
+ (objc_init_options): Update.
+ (lang_identify): Remove.
- * cse.c (simplify_binary_operation): For DIV by 0, do nothing.
+Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com)
- * c-decl.c (duplicate_decls): Set DECL_INLINE in newdecl
- so it is copied into olddecl.
+ * fold-const.c (lshift_double): Honor PREC.
+ (rshift_double): Likewise.
-Sun Sep 6 08:53:46 1992 Fred Fish (fnf at fishpond)
+2001-11-08 Kazu Hirata <kazu@hxi.com>
- * m68k.md (fsglmul pattern): If FSGLMUL_USE_S, opcode has .s, not .x.
- * amix.h (FSGLMUL_USE_S): Defined.
+ * config/1750a/1750a.c: Fix comment formatting.
+ * config/1750a/1750a.h: Likewise.
-Sun Sep 6 17:42:33 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
+2001-11-08 Phil Edwards <pedwards@disaster.jaj.com>
- * pa.md (indirect_jump): Annul the next instruction if the delay
- slot could not be filled instead of emitting a nop.
+ * configure.in (--enable-languages): Be more permissive about
+ syntax. Check for empty lists better. Warn about $LANGUAGES.
+ * configure: Regenerated.
- * pa.c (output_function_prologue): Undo Aug. 13 change.
- If profiling, then this function makes calls. Reflect this in
- CALLINFO.
- (output_function_epilogue): If profiling, then be restore "rp" here.
+2001-11-08 Richard Henderson <rth@redhat.com>
+
+ * dwarf2asm.c (dw2_force_const_mem): Fix typo.
- * pa.md (use_milli_regs attribute): Deleted, not necessary anymore.
- All references deleted.
- * pa.c (use_milli_regs): Deleted.
+2001-11-08 Geoffrey Keating <geoffk@redhat.com>
-Sun Sep 6 17:11:00 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+ * config.gcc: Rename stormy16 to xstormy16.
+ * config/stormy16/stormy-abi: Likewise.
+ * config/stormy16/stormy16-protos.h: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/stormy16/stormy16.h: Likewise.
+ * config/stormy16/stormy16.md: Likewise.
- * arm.h (MOVE_MAX): Define as 4.
+2001-11-06 Geoffrey Keating <geoffk@redhat.com>
- * ns32k.c (hard_regno_mode_ok): Don't abort if unknown mode,
- return 0 instead. Declare argument MODE as `enum machine_mode'.
+ * tree.h (TYPE_VOLATILE): Add enable-checking code.
+ (TYPE_READONLY): Likewise.
- * i860.h (HARD_REGNO_MODE_OK): Allow BLKmode.
+Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Sun Sep 6 16:57:12 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * reload1.c (reload): Don't delete equiv insn if can throw.
- * expr.c (init_expr_once): Don't try HARD_REGNO_MODE_OK on VOIDmode
- or BLKmode.
+ * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
+ (clear_storage): Likewise, for OBJECT.
-Sun Sep 6 14:27:57 1992 Michael Meissner (meissner@osf.org)
+Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com)
- * cp-typeck.c (constant_expression_warning): New fn from c-typeck.c.
+ * pa.c (emit_move_sequence): Fix SUBREG expression to
+ use proper byte offset when extending a constant from
+ SImode to DImode.
-Sun Sep 6 09:11:46 PDT 1992 Ron Guilmette (rfg at netcom.com)
+2001-11-09 Jakub Jelinek <jakub@redhat.com>
- * c-decl.c (duplicate_decls): Don't set DECL_EXTERNAL in olddecl.
- Preserve DECL_UID of olddecl.
+ * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
+ which cannot throw.
-Sun Sep 6 03:37:21 1992 James Van Artsdalen (james at bigtex.cactus.org)
+Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * i386.md (cmpstrsi): Rewrite expander to handle operands correctly.
+ * explow.c (convert_memory_address, case SUBREG): Only return
+ inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
-Sat Sep 5 22:55:53 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-11-08 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
+ (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
+ (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
+
+2001-11-08 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
+
+2001-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (debug_str_hash): New.
+ (struct indirect_string_node): New.
+ (struct dw_val_struct): Change type of val_str to it.
+ (DEBUG_STR_SECTION_FLAGS): Define.
+ (add_AT_string): Push string into hashtable, increment reference
+ counter.
+ (AT_string): Return string from ht_identifier.
+ (AT_string_form): New.
+ (free_AT): For dw_val_class_str, just decrement reference counter.
+ (size_of_string): Remove.
+ (size_of_die): Use AT_string_form to decide what size the string
+ occupies in DIE.
+ (size_of_pubnames): Use strlen instead of size_of_string.
+ (value_format): Use AT_string_form for dw_val_class_str.
+ (output_die): Output DW_FORM_strp strings using
+ dw2_asm_output_offset.
+ (indirect_string_alloc, output_indirect_string): New.
+ (dwarf2out_finish): Emit .debug_str strings if there are any.
+
+2001-11-08 Andreas Franck <afranck@gmx.de>
+
+ * configure.in: Add AC_ARG_PROGRAM to support program name
+ transformation with --program-prefix, --program-suffix and
+ --program-transform-name.
+ * configure: Regenerated.
+ * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
+ PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
+ GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
+ PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
+ program_transform_name the way suggested by autoconf.
+ (GCC_TARGET_INSTALL_NAME): Define.
+ (install-driver): Use the transformed target alias name.
+
+2001-11-08 Richard Henderson <rth@redhat.com>
+
+ * config/mips/mips.c (save_restore_insns): Remove GP from the
+ restore registers mask early instead of special casing it inside
+ the loop.
+
+2001-11-08 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cp/decl.c (shadow_warning): New function.
+ (pushdecl): Improve -Wshadow warnings. Don't give both a warning
+ and an error when a block scope decl shadows a parameter.
+
+2001-11-08 Richard Henderson <rth@redhat.com>
+
+ * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
+ case as well.
+
+2001-11-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
+ to implement floating negation on processors prior to PA 2.0.
+
+2001-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
+ (USE_LINKONCE_INDIRECT): Define.
+ (dw2_output_indirect_constant_1): Try to output indirect constants
+ into linkonce sections if possible.
+ (dw2_force_const_mem): Likewise. Register indirect_pool with GGC.
+ (dw2_output_indirect_constants): Likewise.
+
+2001-11-07 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
+
+2001-11-07 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-decl.c (pushdecl): Remove file and line.
+ * c-typeck.c (pop_init_level): Remove size.
+
+2001-11-07 Aldy Hernandez <aldyh@redhat.com>
+
+ * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
+ for rs6000.
+
+ * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
+ (TARGET_ALTIVEC): New.
+ (TARGET_SWITCHES): Add altivec.
+ (FIRST_PSEUDO_REGISTER): Change to 109.
+ (CALL_USED_REGISTERS): Same.
+ (FIRST_ALTIVEC_REGNO): New.
+ (LAST_ALTIVEC_REGNO): New.
+ (ALTIVEC_REGNO_P): New.
+ (UNITS_PER_ALTIVEC_WORD): New.
+ (ALTIVEC_VECTOR_MODE): New.
+ (FIXED_REGISTERS): Add altivec registers.
+ (REG_ALLOC_ORDER): Same.
+ (HARD_REGNO_NREGS): Adjust for altivec registers.
+ (HARD_REGNO_MODE_OK): Same.
+ (MODES_TIEABLE_P): Same.
+ (REGISTER_MOVE_COST): Same.
+ (REGNO_REG_CLASS): Same.
+ (reg_class): Add ALTIVEC_REGS.
+ (REG_CLASS_NAMES): Same.
+ (REG_CLASS_CONTENTS): Same.
+ (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
+ (ALTIVEC_ARG_RETURN): New.
+ (FUNCTION_VALUE): Handle VECTOR_TYPE.
+ (LIBCALL_VALUE): Handle altivec vector modes.
+ (VECTOR_MODE_SUPPORTED_P): New.
+ (ALTIVEC_ARG_MIN_REG): New.
+ (ALTIVEC_ARG_MAX_REG): New.
+ (ALTIVEC_ARG_NUM_REG): New.
+ (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
+ (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
+ (REGISTER_NAMES): Add altivec regs.
+ (DEBUG_REGISTER_NAMES): Same.
+ (ADDITIONAL_REGISTER_NAMES): Same.
+ (rs6000_builtins): New.
+ (MD_EXPAND_BUILTIN): New.
+ (MD_INIT_BUILTINS): New.
+ (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
+ for AltiVec instructions.
+ (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
+ (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
+ registers.
+ (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
+ (TARGET_SWITCHES): Add no-altivec.
+ (DATA_ALIGNMENT): Align vectors to 128 bits.
+ (TARGET_OPTIONS): Add abi= option.
+ Add rs6000_abi_string extern.
+ (LOCAL_ALIGNMENT): New.
+ (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
+ (MASK_ALTIVEC_ABI): New.
+ (TARGET_ALTIVEC_ABI): New.
+ (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
+ call-saved.
+ (STACK_BOUNDARY): Adjust for altivec.
+ (BIGGEST_ALIGNMENT): Same.
+ (rs6000_args): Add vregno.
+ (USE_ALTIVEC_FOR_ARG_P): New.
+ (FIXED_REGISTERS): Add vrsave register.
+ (CALL_USED_REGISTERS): Same.
+ (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
+ (VRSAVE_REGNO): New.
+ (reg_class): Add VRSAVE_REGS.
+ (REG_CLASS_NAMES): Same.
+ (REG_CLASS_CONTENTS): Same.
+ (REGNO_REG_CLASS): Same.
+
+ * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
+ (ABI_STACK_BOUNDARY): Same.
+ (BIGGEST_ALIGNMENT): Same.
+ (ADJUST_FIELD_ALIGN): Remove undef. Define anew.
+ (ROUND_TYPE_ALIGN): Same.
+
+ * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
+ to 64.
+
+ * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
+ to 64.
+
+ * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
+ to 64.
+
+ * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
+ (altivec_expand_builtin): New.
+ (altivec_init_builtins): New.
+ (TARGET_EXPAND_BUILTIN): New.
+ (TARGET_INIT_BUILTINS): New.
+ (rs6000_init_builtins): New.
+ (struct builtin_description): New.
+ (bdesc_2arg): New.
+ (rs6000_reg_names): Add altivec registers.
+ (alt_reg_names): Same.
+ (secondary_reload_class): Altivec regs can hold altivec regs and
+ memory.
+ (rs6000_emit_move): Force constants into memory for AltiVec moves.
+ (print_operand): Add 'y' case for printing altivec memory
+ operands.
+ (rs6000_legitimize_address): Legitimize vector addresses into
+ [REG+REG] or [REG].
+ (altivec_expand_binop_builtin): New.
+ New string rs6000_current_abi.
+ (rs6000_override_options): Call rs6000_parse_abi_options.
+ (rs6000_parse_abi_options): New.
+ (function_arg_boundary): Vector arguments must be 16
+ byte aligned.
+ (function_arg_advance): Handle vector arguments.
+ (function_arg_partial_nregs): Same.
+ (init_cumulative_args): Same.
+ (function_arg): Same.
+
+ * config/rs6000/rs6000.md (altivec_lvx): New.
+ (type): Add altivec attribute.
+ (movv4si): New.
+ (*movv4si_internal): New.
+ (movv16qi): New.
+ (*movv16qi_internal): New.
+ (movv8hi): New.
+ (*movv8hi_internal1): New.
+ (movv4sf): New.
+ (*movv4sf_internal1): New.
+ (altivec_stvx): New.
+ (vaddubm): New.
+ (vadduhm): New.
+ (vadduwm): New.
+ (vaddfp): New.
+ (vaddcuw): New.
+ (vaddubs): New.
+ (vaddsbs): New.
+ (vadduhs): New.
+ (vaddshs): New.
+ (vadduws): New.
+ (vaddsws): New.
+ (vand): New.
+ (vandc): New.
+ (vavgub): New.
+ (vavgsb): New.
+ (vavguh): New.
+ (vavgsh): New.
+ (vavguw): New.
+ (vavgsw): New.
+ (vcmpbfp): New.
+ (vcmpequb): New.
+ (vcmpequh): New.
+ (vcmpequw): New.
+ (vcmpeqfp): New.
+ (vcmpgefp): New.
+ (vcmpgtub): New.
+ (vcmpgtsb): New.
+ (vcmpgtuh): New.
+ (vcmpgtsh): New.
+ (vcmpgtuw): New.
+ (vcmpgtsw): New.
+ (vcmpgtfp): New.
+ (vcmpgefp): New.
+ (vcmpgtub): New.
+ (vcmpgtsb): New.
+ (vcmpgtuh): New.
+ (vcmpgtsh): New.
+ (vcmpgtuw): New.
+ (vcmpgtsw): New.
+ (vcmpgtfp): New.
+ (vmaxub): New.
+ (vmaxsb): New.
+ (vmaxuh): New.
+ (vmaxsh): New.
+ (vmaxuw): New.
+ (vmaxsw): New.
+ (vmaxfp): New.
+ (vmrghb): New.
+ (vmrghh): New.
+ (vmrghw): New.
+ (vmrglb): New.
+ (vmrglh): New.
+ (vmrglw): New.
+ (vminub): New.
+ (vminsb): New.
+ (vminuh): New.
+ (vminsh): New.
+ (vminuw): New.
+ (vminsw): New.
+ (vminfp): New.
+ (vmuleub): New.
+ (vmulesb): New.
+ (vmuleuh): New.
+ (vmulesh): New.
+ (vmuloub): New.
+ (vmulosb): New.
+ (vmulouh): New.
+ (vmulosh): New.
+ (vnor): New.
+ (vor): New.
+ (vpkuhum): New.
+ (vpkuwum): New.
+ (vpkpx): New.
+ (vpkuhss): New.
+ (vpkshss): New.
+ (vpkuwss): New.
+ (vpkswss): New.
+ (vpkuhus): New.
+ (vpkshus): New.
+ (vpkuwus): New.
+ (vpkswus): New.
+ (vrlb): New.
+ (vrlh): New.
+ (vrlw): New.
+ (vslb): New.
+ (vslh): New.
+ (vslw): New.
+ (vsl): New.
+ (vslo): New.
+ (vsrb): New.
+ (vrsh): New.
+ (vrsw): New.
+ (vsrab): New.
+ (vsrah): New.
+ (vsraw): New.
+ (vsr): New.
+ (vsro): New.
+ (vsububm): New.
+ (vsubuhm): New.
+ (vsubuwm): New.
+ (vsubfp): New.
+ (vsubcuw): New.
+ (vsububs): New.
+ (vsubsbs): New.
+ (vsubuhs): New.
+ (vsubshs): New.
+ (vsubuws): New.
+ (vsubsws): New.
+ (vsum4ubs): New.
+ (vsum4sbs): New.
+ (vsum4shs): New.
+ (vsum2sws): New.
+ (vsumsws): New.
+ (vxor): New.
+
+2001-11-07 Daniel Berlin <dan@cgsoftware.com>
+
+ * Makefile.in (df.o): Add fibheap.h to dependencies.
+
+ * df.h: Add prototypes for transfer functions, iterative_dataflow
+ functions.
+ (enum df_flow_dir): New enum.
+ (enum df_confluence_op): New enum.
+ (struct df): Add inverse_rts_map.
- * combine.c (try_combine): Make change missing from last modification
- to splitting code.
+ * df.c: Add sbitmap.h to the list of includes.
+ (df_rd_global_compute): Removed.
+ (df_ru_global_compute): Removed.
+ (df_lr_global_compute): Removed.
+ (df_rd_transfer_function): New function.
+ (df_ru_transfer_function): New function.
+ (df_lr_transfer_function): New function.
+ (df_analyse_1): allocate/compute/free df->inverse_rts_map.
+ Use iterative_dataflow_bitmap instead of df_*_global_compute.
+ (iterative_dataflow_sbitmap): New function.
+ (iterative_dataflow_bitmap): New function.
+
+2001-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/gcc.texi: Move terminology and spelling conventions to
+ htdocs/codingconventions.html.
+
+2001-11-07 Graham Stott <grahams@redhat.com>
+
+ * cse.c (cse_insn): Emit BARRIER after unconditional jump.
+
+Wed Nov 7 13:33:34 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * expmed.c (expand_mult): Force operand to register before computing
+ cost.
+ * i386.c (x86_decompose_lea): New global vairable.
+ * i386.h (x86_decompose_lea): Declare.
+ (TARGET_DECOMPOSE_LEA): New macro.
+ (RTX_COST): Handle leas properly.
+
+2001-11-06 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
+ defined for a CONSTRUCTOR; don't check it.
+
+2001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
+ test for absolute pathnames.
+
+2001-11-06 Olivier Hainque <hainque@act-europe.fr>
+
+ * unwind-dw2.c (execute_cfa_program): Evaluate call frame
+ instructions up to the target pc inclusive.
+
+2001-11-06 Steve Christiansen <smc@us.ibm.com>
-Sat Sep 5 19:21:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * loop.c (loop_regs_scan): Don't invalidate PIC register.
- * stor-layout.c (layout_type): Caller must give size of FILE_TYPE.
+2001-11-06 Eric Christopher <echristo@redhat.com>
-Sat Sep 5 16:34:50 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+ * config/mips/mips.md(movdf_internal2): Add constraints for float
+ to general register move.
+ * config/mips/elf64.h: Add default ABI.
- * arm.c (before functions): Remove xmalloc decl.
- (arm_asm_output_label): Cast value from xmalloc.
+2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
- * arm.md (storehi): Use match_operand for operand 0.
- Use gen_lowpart to change mode of operand 0.
- (storeinthi): Use match_operand for operand 0.
- Change output code to reassign operand 0.
- (truncsihi2, truncsiqi2, trunchiqi2): Remove these patterns.
+ * alias.c:: Include langhooks.h.
+ * emit-rtl.c: Similarly.
+ * toplev.c: Similarly.
+ * tree-inline.c: Similarly.
+ * langhooks-def.h: New, the old langhooks.h. Give the default
+ hooks a common prefix.
+ * langhooks.h: Contents extracted from toplev.h.
+ * toplev.h: Move langhook stuff to langhooks.h.
+ * langhooks.c: Give default hooks a common prefix.
-Sat Sep 5 02:39:37 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * c-lang.c: Include langhooks-def.h.
+ * objc/objc-act.c: Similarly.
+ * Makefile.in: Update.
+ * objc/Make-lang.in: Update.
- * news.h (ASM_OUTPUT_OPCODE): Defined.
+2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
-Sat Sep 5 18:52:21 1992 Jukka Virtanen (jtv@kampi.hut.fi)
+ * doc/install.texi: Document that configure options not listed in
+ this file are unsupported. Document --with-system-zlib.
- * stor-layout.c (layout_type): Handle BOOLEAN_TYPE, CHAR_TYPE,
- and FILE_TYPE for Pascal.
- (fixup_signed_type): New function.
+Tue Nov 6 09:21:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * optabs.c (init_optabs): Use __gcc_bcmp, not real bcmp.
- (expand_unop): Handle NEG for complex modes.
- (expand_binop): Likewise.
- (expand_complex_binop): New function.
+ * rtl.h (mem_for_const_double): New declaration.
+ * varasm.c (mem_for_const_double): New function.
+ * config/convex/convex.md (movdf): Use it.
+ * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
+ * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
+ * config/m68k/m68kv4.h: Likewise.
- * expr.c (emit_move_insn): When moving word by word,
- mark the whole thing as a libcall block.
- (group_insns): New function.
- (expand_expr):
- Implement COMPLEX_EXPR, REALPART_EXPR, IMAGPART_EXPR, CONJ_EXPR.
+ * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
+ of new GP reg classes.
- * print-tree.c (print_node): Handle BOOLEAN_TYPE and CHAR_TYPE.
- * emit-rtl.c (gen_highpart): New function.
+ * expr.c (store_field): When making temp object for unaligned
+ component, set it to alias set 0.
-Fri Sep 4 23:20:59 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
- * i860.md (mulsi3_big): Use low half of result.
- Use offset 1 in subregs in actual fmlow insn.
- (fmlow pattern): Split this into alternatives for big and little end.
+ * c-common.c (c_expand_expr_stmt): Apply default conversions to
+ non-lvalue arrays if C99.
+ * c-typeck.c (default_conversion): Split out code handling
+ array-to-pointer and function-to-pointer conversions into a
+ separate default_function_array_conversion function.
+ (default_function_array_conversion): New function. Keep track of
+ whether any NON_LVALUE_EXPRs were stripped. Return non-lvalue
+ arrays unchanged outside C99 mode instead of giving an error for
+ them.
+ (build_component_ref): Use pedantic_non_lvalue when handling
+ COMPOUND_EXPR. Don't handle COND_EXPR specially.
+ (convert_arguments): Use default_function_array_conversion.
+ (build_unary_op): For ADDR_EXPR, take a flag indicating whether
+ non-lvalues are OK.
+ (unary_complex_lvalue): Likewise.
+ (internal_build_compound_expr): Use
+ default_function_array_conversion. Apply default conversions to
+ function in compound expression.
+ (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
+ Use default_function_array_conversion.
+ * doc/extend.texi: Update documentation of subscripting non-lvalue
+ arrays.
+ Fixes PR c/461.
- * regclass.c (record_reg_class): For matching operands, handle
- case where the earlier one is not a pseudo like the case
- where the later one is not a pseudo.
+2001-11-05 Zack Weinberg <zack@codesourcery.com>
-Fri Sep 4 17:24:11 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+ * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
+ (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
+ corresponding to the complete set of .po and .gmo files in
+ the source directory's po subdir, modified by LINGUAS. Don't
+ look at ALL_LINGUAS.
+ * configure.in: Don't set ALL_LINGUAS.
+ * configure: Regenerate.
- * pa.c (output_move_double): Use %R to store at auto-incr/decr
- addr. Split incr and decr cases for store.
+ * Makefile.in (.po.gmo): Don't move into source directory.
+ (.po.pox): Clarify comments.
+ (install-po): Look for .gmo files in both srcdir and objdir;
+ don't fail if a file is totally missing.
+ (distclean): rmdir ada subdirectory too.
-Fri Sep 4 03:49:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-11-05 Geoffrey Keating <geoffk@redhat.com>
- * gcc.c (main): No program should return the error_count!
- Return 2 if failure due to signal, 1 if just errors.
- (execute): Increment signal_count.
+ * config/rs6000/rs6000.c (rs6000_select_section): Handle
+ CONSTRUCTORs _correctly_.
- * move-if-change: Undo previous change.
+2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
- * c-decl.c (grokparms): Copy arg type list to savable obstack if nec.
+ * c-decl.c (delete_block): Remove.
+ * c-tree.h (delete_block): Remove.
-Fri Sep 4 19:40:32 1992 Paul Eggert (eggert@twinsun.com)
+2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
- * c-typeck.c (constant_expression_warning): Now works;
- it reports signed integer overflow in constant expressions,
+ * cppexp.c (lex, parse_defined): Update warning about defined.
+
+2001-11-05 Geoffrey Keating <geoffk@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_select_section): Handle
+ CONSTRUCTORs too.
+
+2001-11-05 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config/arm/arm.c (arm_return_in_memory): Cope with
+ int_size_in_bytes returning -1.
+
+ * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
+ DECL being NULL.
+
+Mon Nov 5 16:15:25 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
+ remove unneeded dependencies;
+ (cfglayout.o): New.
+ * cfglayout.c, cfglayout.h: New files; break out from ...
+ * bb-reorder.c: ... here; Remove unneeded includes;
+
+2001-11-04 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
+
+2001-11-04 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
+ mode as well. Do not explicitly create intermediate regs.
+
+2001-11-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
+ (common_section): Delete unused variable.
+ (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
+ (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
+ * arm-protos.h (arm_poke_function_name, aof_add_import,
+ aof_delete_import): Const-ify.
+ * arm.c (legitimize_pic_address): Wrap variables in the macro
+ controlling their usage.
+ (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
+ (arm_poke_function_name, pic_chain, import, aof_add_import,
+ aof_delete_import): Const-ify.
+ * i386.c (ix86_osf_output_function_prologue): Const-ify.
+ * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
+ ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
+ * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
+ * i860/sysv3.h: Add missing comment closure.
+ * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
+ * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
+ to symbolic_operand.
+
+ * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
+ (i960-*-*): Set tmake_file.
+ (sparc86x-*-elf*): Fix typo in header name.
+
+ * sched-rgn.c (schedule_insns): Delete unused variable.
+
+2001-11-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ PR c/2820
+ * c-typeck.c (lookup_field): Rework to return a chain down to
+ the looked-up field.
+ (build_component_ref): Use the new lookup_field to handle
+ nested anonymous entities correctly.
- * fold-const.c (left_shift_overflows, same_sign, overflow_sum_sign):
- New macros.
- (add_double, div_and_round_double, lshift_double, mul_double,
- neg_double, const_binop, fold): Check for signed integer overflow.
- Propagate overflow flags from operands to result.
- (const_binop, fold_convert): Use pedwarn for overflow warnings.
- Say `constant expression', not `constant folding', for user's sake.
+Sun Nov 4 11:53:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Thu Sep 3 22:28:41 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
+ * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
+ Change parameters to gen_rtx_CONST_DOUBLE.
+ (GEN_INT64, sparc_emit_set_const64): Likewise.
+ * config/sparc/sparc.md (movdf split): Likewise.
- Complete 12th Cygnus<-->FSF merge.
+2001-11-03 Geoffrey Keating <geoffk@redhat.com>
- Thu Sep 3 12:29:24 1992 Brendan Kehoe (brendan@cygnus.com)
+ * unroll.c (calculate_giv_inc): Use find_last_value rather
+ than just hoping the last instruction is the right SET.
+ [Fixes 990604-1.c on stormy16.]
- These changes are propagated from changes to c-*.c.
+ * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
+ library at all if -T is used.
- Mon Aug 17 16:28:48 1992 Chip Salzenberg (chip@tct.com)
+ * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
+ some uses of uninitialized variables in error cases.
- * cp-decl.c (finish_function): Test only can_reach_end for the
- warning about reaching the end of a non-void function.
- (grokdeclarator): When promoting an argument, retain unsignedness
- if traditional or if promoted type is not really getting wider.
+ * config/stormy16/stormy16.c (stormy16_output_shift): Don't
+ look at 'temp' if we won't be using it.
- * cp-parse.y (datadef): For empty declaration, use pedwarn.
+ * config/stormy16/stormy16.h (CONST_COSTS): Define.
+ (RTX_COSTS): Define.
+ (ADDRESS_COST): Define.
+ (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
- Mon Aug 17 17:08:11 1992 Chip Salzenberg (chip@tct.com)
+ * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
- * cp-cvt.c (convert): When converting to variant of same type, fold.
+ * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
+ stormy16_asm_output_mi_thunk.
+ * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
+ function.
+ * config/stormy16/stormy16-protos.h
+ (stormy16_asm_output_mi_thunk): New prototype.
+
+2001-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
+ FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
+ caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
+ cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
+ sched-int.h, toplev.c, config/alpha/alpha.c,
+ config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
+ config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
+ config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
+ config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
+ config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
+ config/ns32k/ns32k.md, config/rs6000/rs6000.c,
+ config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
+
+2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (dbxout.o): Depend on function.h.
+ * collect2.c (is_in_list): Hide unused function.
+ * dbxout.c: Include function.h.
+ (source_label_number, dbxout_source_line, dbxout_source_file,
+ dbxout_function_end, dbxout_begin_function): Wrap/move inside
+ macros controlling usage.
+ * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
+ * output.h (exports_section): Prototype.
+
+ * convex.c (convex_output_function_prologue): Fix format specifier
+ warning.
+ (asm_declare_function_name): Fix signed/unsigned warning.
+ (print_operand): Fix format specifier warning.
+ * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
+ * dsp16xx-protos.h (uns_comparison_operator,
+ num_1600_core_shifts): Prototype.
+ * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
+ (frame_size, frame_pointer_offset): Delete.
+ (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
+ Make static. Fix format specifier warnings.
+ * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
+ (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
+ * dsp16xx.md: Add default case in switches.
+ * fr30.h (IN_RANGE): Delete.
+ * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
+ * mcore-protos.h (mcore_output_cmov): Const-ify.
+ * mcore.c (mcore_output_cmov): Likewise.
+ * mcore.h (switch_to_section): Make static and prototype.
+ * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
+ unsigned>=0 warnings.
+ * mn10300.h (REGNO_IN_RANGE_P): Likewise.
+ * rs6000-protos.h (read_only_data_section,
+ read_only_private_data_section): Prototype.
+ * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
+ * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
+ * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
+
+2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
+ ATTRIBUTE_UNUSED.
+ * final.c (final_scan_insn): Add brackets around body of if-stmt.
+ * gcc.c (convert_filename): Add static prototype. Const-ify.
+ Wrap variable in macros controlling its use.
+ * output.h (sdata_section): Add prototype.
+
+ * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
+ (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
+ * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
+ (ASM_FILE_START): Const-ify.
+ (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
+ specifier warning.
+ * c4x.md: Don't use the 'U' integer suffix.
+ * clipper.md (clipper_movstr): Delete declaration.
+ * d30v-protos.h (d30v_move_2words): Const-ify.
+ (debug_stack_info): Add prototype.
+ * d30v.c: Include "integrate.h".
+ (d30v_function_arg_boundary, d30v_function_arg,
+ d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
+ signed/unsigned warnings.
+ (d30v_print_operand_memory_reference, d30v_move_2words):
+ Const-ify.
+ * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
+ * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
+ * fr30.md: Const-ify.
+ * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
+ * i370.c (i370_label_scan, mvs_get_label): Make definition static.
+ (mvs_get_label_page): Hide unused static function.
+ * i860.c (current_function_original_name): Const-ify.
+ * i860/sysv3.h (current_function_original_name): Likewise.
+ * i860/sysv4.h (current_function_original_name): Likewise.
+ * i960.md: Add default case in switches. Remove unused variable.
+ * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
+ * m32r.md: Const-ify.
+ * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
+ * m68hc11.c: Include "reload.h".
+ (static_chain_reg, print_options, m68hc11_asm_file_start):
+ Const-ify.
+ * m68hc11.md: Delete unused variable. Const-ify. Add parens
+ around & in comparison.
+ * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
+ * mn10200.c (shift_mode): Remove trailing comma.
+ * mn10300-protos.h (output_tst): Const-ify.
+ * mn10300.c (output_tst): Likewise.
+ * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
+ warnings.
+ * pa-protos.h (output_ascii): Use regular char *, not unsigned.
+ * pa.c (output_ascii): Likewise.
+ * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
+ * pdp11.md (expand_unop): Delete declarations.
+ * pj-protos.h (pj_output_addsi3): Const-ify.
+ * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
+ pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
+ unique_src_operand): Add prototypes.
+ (pj_output_store_into_lval): Make definition static.
+ (pj_function_incoming_arg): Don't use unary plus.
+ (pj_output_addsi3): Const-ify.
+ * romp.md (get_symref): Delete declarations.
+ * v850-c.c (mark_current_function_as_interrupt): Don't return
+ value from void function.
+ * v850.c: Include "integrate.h".
+ * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
+ * vax-protos.h (const_section): Add prototype.
+
+2001-11-03 Aldy Hernandez <aldyh@redhat.com>
+
+ * machmode.def: Add documentation for the seventh argument in
+ vector modes.
+
+2001-11-04 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
+ consistently.
+ <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
+ <-melf>: Don't have markup for ELF acronym.
+
+2001-11-03 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config.gcc (mmix-*-*): New target.
+ * doc/invoke.texi: Document MMIX options.
+ * doc/contrib.texi: Add note about MMIX port to my entry.
+ * config/mmix/t-mmix: New file.
+ * config/mmix/mmix.h: New file.
+ * config/mmix/mmix-protos.h: New file.
+ * config/mmix/mmix.c: New file.
+ * config/mmix/mmix.md: New file.
+ * config/mmix/crti.asm: New file.
+ * config/mmix/crtn.asm: New file.
+
+2001-11-03 Kazu Hirata <kazu@hxi.com>
+
+ * config/sparc/linux-aout.h: Fix comment formatting.
+ * config/sparc/linux.h: Likewise.
+ * config/sparc/linux64.h: Likewise.
+ * config/sparc/lynx.h: Likewise.
+ * config/sparc/pbd.h: Likewise.
+ * config/sparc/sol2-sld-64.h: Likewise.
+ * config/sparc/sol2.h: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/sparc/sparc.h: Likewise.
+ * config/sparc/sparc.md: Likewise.
+ * config/sparc/sunos4.h: Likewise.
+ * config/sparc/vxsim.h: Likewise.
+ * config/sparc/vxsparc.h: Likewise.
+ * config/sparc/vxsparc64.h: Likewise.
+
+Sat Nov 3 10:37:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
+ reference to CONST_DOUBLE_MEM in comment.
+ * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
+ (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
+ (init_emit_once): Don't clear CONST_DOUBLE_MEM.
+ * function.c (pop_function_context_from): Don't call
+ restore_varasm_status.
+ * function.h (restore_varasm_status): Delete declaration.
+ * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
+ * rtl.c: Likewise.
+ * rtl.def (CONST_DOUBLE): Update comment.
+ * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
+ (CONST_DOUBLE_CHAIN): Likewise.
+ (CONST_DOUBLE_MEM): Delete.
+ (gen_rtx_CONST_DOUBLE): Update parameters.
+ * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
+ Remove reference to CONST_DOUBLE_MEM.
+ (const_alias_set): New variable.
+ (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
+ (immed_real_const_1): Adjust tests for 0, 1, and 2.
+ Don't set CONST_DOUBLE_MEM.
+ (clear_const_double_mem): Don't do anything with const_tiny_rtx.
+ (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
+ Put constant in const_alias_set.
+ (struct pool_constant): ALIGN now unsigned.
+ OFFSET now HOST_WIDE_INT.
+ Delete LABEL.
+ (restore_varasm_status): Deleted.
+ (mark_pool_constant): Mark desc->rtl.
+ (force_const_mem): Rework to store rtl in hash table,
+ not CONST_DOUBLE_MEM.
+ Put constant in const_alias_set.
+ (find_pool_constant): Check desc->rtl.
+ (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
+ (init_varasm_once): Initialize const_alias_set.
+
+ * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
+ force_const_mem.
+
+ * reload.c (combine_reloads): Don't combine an output reload if there
+ are other reloads around for part of the output.
+
+ * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
+ constant expression.
+ (set_mem_decl): New function.
+ * expr.h (set_mem_decl): New declaration.
+ * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
+ (output_asm_operand_names): Add tab.
+ * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
+
+ * builtins.c (get_memory_rtx): Properly set MEM alias set and
+ attributes.
+
+2001-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
+ Use "invalid" instead of "illegal". Use @r in comments in
+ examples.
+
+2001-11-02 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-decl.c (pushdecl): Move block inside if conditional to remove
+ possibility of a segfault. Lookup block-level extern
+ variables in enclosing scopes correctly.
+
+ * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
+
+2001-11-02 Aldy Hernandez <aldyh@redhat.com>
+
+ * expmed.c (store_bit_field): Use simplify_gen_subreg to make
+ SUBREG so we avoid SUBREGing memory.
+
+ * expmed.c (store_bit_field): Same.
+
+2001-11-02 DJ Delorie <dj@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
+ using FP registers for DImode mem-mem moves is acceptable.
+
+2001-11-02 Aldy Hernandez <aldyh@redhat.com>
+
+ * builtins.c (apply_args_size): Handle vector arguments.
+ (apply_result_size): Same.
+
+ * machmode.def: Set WIDER mode field for all vector entries.
+
+2001-11-02 Graham Stott <grahams@redhat.com>
+
+ * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS.
+
+2001-11-01 Eric Christopher <echristo@redhat.com>
+
+ * config.gcc: Revert part of earlier patch.
+ * config/mips/linux.h: Ditto.
+ * df.c: Include tm_p.h to avoid warnings.
+ * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust
+ #if/#endif.
+ * config/mips/mips.c: Define mips_abi regardless.
+ (mips_output_function_prologues): Add long casts for .frame
+ output.
+ (override_options): Allow use of ABI_32.
+
+2001-11-01 Kazu Hirata <kazu@hxi.com>
+
+ * config/m68hc11/m68hc11.c: Fix comment formatting.
+ * config/m68hc11/m68hc11.h: Likewise.
+ * config/m68hc11/m68hc11.md: Likewise.
+
+2001-11-01 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-typeck.c (default_conversion): Retain the original expression
+ codes.
+ * gcc.dg/Wparentheses.c: New tests.
+
+2001-11-01 David S. Miller <davem@redhat.com>
+
+ * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
+ 64-bit SPARC description more in line with reality.
+
+2001-11-01 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * Makefile.in (GCOV_OBJS): Add version.o.
+ * gcov.c: Include "version.h" and <getopt.h>.
+ (gcov_version_string): Remove.
+ (print_usage): Take a parameter to determine whether this is a
+ call from --help or an error message. Give fuller output that
+ follows the GNU Coding Standards for --help.
+ (print_version): New function.
+ (options): New.
+ (process_args): Use getopt_long. Support long options. Follow
+ GNU Coding Standards for --help and --version.
+ * doc/gcov.texi: Document long options.
+ Addresses part of PR other/704.
+
+2001-11-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.c (output_move_double): Fix typo in double load.
+
+2001-11-01 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (h8300_encode_label): Compute a string
+ before passing it to ggc_alloc_string.
+
+2001-11-01 Kazu Hirata <kazu@hxi.com>
+
+ * config/m68k/3b1.h: Fix comment formatting.
+ * config/m68k/3b1g.h: Likewise.
+ * config/m68k/a-ux.h: Likewise.
+ * config/m68k/amix.h: Likewise.
+ * config/m68k/apollo68.h: Likewise.
+ * config/m68k/atari.h: Likewise.
+ * config/m68k/aux-exit.c: Likewise.
+ * config/m68k/ccur-GAS.h: Likewise.
+ * config/m68k/crds.h: Likewise.
+ * config/m68k/dpx2.h: Likewise.
+ * config/m68k/dpx2g.h: Likewise.
+ * config/m68k/hp310.h: Likewise.
+ * config/m68k/hp320.h: Likewise.
+ * config/m68k/isi.h: Likewise.
+ * config/m68k/linux.h: Likewise.
+ * config/m68k/lynx.h: Likewise.
+ * config/m68k/m68k-psos.h: Likewise.
+ * config/m68k/m68k.c: Likewise.
+ * config/m68k/m68k.h: Likewise.
+ * config/m68k/m68k.md: Likewise.
+ * config/m68k/m68kelf.h: Likewise.
+ * config/m68k/m68kv4.h: Likewise.
+ * config/m68k/mot3300.h: Likewise.
+ * config/m68k/news.h: Likewise.
+ * config/m68k/next.h: Likewise.
+ * config/m68k/pbb.h: Likewise.
+ * config/m68k/plexus.h: Likewise.
+ * config/m68k/sgs.h: Likewise.
+ * config/m68k/sun3.h: Likewise.
+ * config/m68k/tower.h: Likewise.
+ * config/m68k/vxm68k.h: Likewise.
+
+2001-10-31 DJ Delorie <dj@redhat.com>
+
+ * config/mips/mips.h (mips_cache_flush_func): Prototype.
+ (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
+ (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
+ * config/mips/mips.c (mips_cache_flush_func): New.
+ * doc/invoke.texi: Document the new options.
+
+2001-10-31 Hans-Peter Nilsson <hp@axis.com>
+
+ * config.gcc (cris-*-linux*, tm_file): Rearrange order.
+ * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
+
+ * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
+
+ * config/cris/cris.c: Include output.h after tree.h but before
+ target.h.
+
+2001-10-31 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
+ (INTL_SUBDIRS): Just intl.
+ (.SUFFIXES): Add .gmo .po .pox.
+ (native): Also depend on build-@POSUB@.
+ (intl.all, intl.install): Depend on config.h and things it includes.
+ (po-generated): New target; depend on c-parse.c and tradcif.c.
+ (install-normal): Also depend on install-@POSUB@.
+ (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
+ (build-, install-, build-po, update-po, install-po,
+ .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
+
+ * aclocal.m4: Prefix each entry in CATALOGS with "po/"
+ * configure.in: Don't munge XGETTEXT. Don't generate
+ po/Makefile.in.
+ * configure: Regenerate.
+
+ * exgettext: Delete.
+ * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
+ * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
+
+2001-10-31 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.md (two anonymous patterns): New.
+
+2001-10-31 Aldy Hernandez <aldyh@redhat.com>
+
+ * tree.h (tree_index): Add support for V16QI and V8HI.
+ (V8HI_type_node): New.
+ (V16QI_type_node): New.
+
+ * tree.c (build_common_tree_nodes_2): Same.
+
+ * c-common.c (type_for_mode): Same.
+
+2001-10-31 Kazu Hirata <kazu@hxi.com>
+
+ * config/i386/att.h: Fix comment formatting.
+ * config/i386/beos-elf.h: Likewise.
+ * config/i386/bsd.h: Likewise.
+ * config/i386/bsd386.h: Likewise.
+ * config/i386/crtdll.h: Likewise.
+ * config/i386/cygwin.asm: Likewise.
+ * config/i386/cygwin.h: Likewise.
+ * config/i386/djgpp.h: Likewise.
+ * config/i386/freebsd-aout.h: Likewise.
+ * config/i386/freebsd.h: Likewise.
+ * config/i386/gas.h: Likewise.
+ * config/i386/i386-interix.h: Likewise.
+ * config/i386/i386-protos.h: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/i386/i386.h: Likewise.
+ * config/i386/i386.md: Likewise.
+ * config/i386/i386elf.h: Likewise.
+ * config/i386/interix.c: Likewise.
+ * config/i386/isc.h: Likewise.
+ * config/i386/isccoff.h: Likewise.
+ * config/i386/iscdbx.h: Likewise.
+ * config/i386/linux.h: Likewise.
+ * config/i386/lynx.h: Likewise.
+ * config/i386/mingw32.h: Likewise.
+ * config/i386/netbsd-elf.h: Likewise.
+ * config/i386/next.h: Likewise.
+ * config/i386/osf1elf.h: Likewise.
+ * config/i386/osfrose.h: Likewise.
+ * config/i386/sco5.h: Likewise.
+ * config/i386/seq-gas.h: Likewise.
+ * config/i386/seq-sysv3.h: Likewise.
+ * config/i386/sequent.h: Likewise.
+ * config/i386/sol2.h: Likewise.
+ * config/i386/sun386.h: Likewise.
+ * config/i386/uwin.asm: Likewise.
+ * config/i386/uwin.h: Likewise.
+ * config/i386/vxi386.h: Likewise.
+ * config/i386/win32.h: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/i386/xm-cygwin.h: Likewise.
+ * config/i386/xm-mingw32.h: Likewise.
+
+2001-10-31 Kazu Hirata <kazu@hxi.com>
+
+ * builtins.def: Fix comment typos.
+ * config/alpha.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/avr/avr.h: Likewise.
+ * config/d30v/d30v.c: Likewise.
+ * config/d30v/d30v.h: Likewise.
+ * config/d30v/d30v.md: Likewise.
+ * config/dsp16xx/dsp16xx.c: Likewise.
+ * config/fr30/fr30.c: Likewise.
+ * config/fr30/fr30.md: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/i860/i860.c: Likewise.
+ * config/i960/i960.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+
+2001-10-30 Kazu Hirata <kazu@hxi.com>
+
+ * config/mips/elf.h: Fix comment formatting.
+ * config/mips/elf64.h: Likewise.
+ * config/mips/iris5.h: Likewise.
+ * config/mips/iris5gas.h: Likewise.
+ * config/mips/iris6.h: Likewise.
+ * config/mips/isa3264.h: Likewise.
+ * config/mips/linux.h: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/mips/mips.h: Likewise.
+ * config/mips/mips.md: Likewise.
+ * config/mips/mips16.S: Likewise.
+ * config/mips/netbsd.h: Likewise.
+ * config/mips/osfrose.h: Likewise.
+ * config/mips/r3900.h: Likewise.
+ * config/mips/sni-svr4.h: Likewise.
+ * config/mips/svr4-t.h: Likewise.
+ * config/mips/ultrix.h: Likewise.
+
+2001-10-30 Daniel Berlin <dan@cgsoftware.com>
+
+ * bitmap.c (bitmap_element_free): Don't forget to update head->indx
+ when we update head->current.
+
+2001-10-30 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * tree.c (id_string_size): Remove.
+ (dump_tree_statistics): Update.
+ * toplev.c (compile_file): If dumping stats, dump tree stats too.
+
+Tue Oct 30 19:00:43 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * sched-rgn.c (schedule_insns): Fix comment.
+
+2001-10-30 Zack Weinberg <zack@codesourcery.com>
+
+ * configure.in: Correct previous change: don't assume that
+ gas's version number _isn't_ the last thing on the line, or
+ isn't the only number on the line, either.
+ * configure: Regenerate.
+
+2001-10-30 Kazu Hirata <kazu@hxi.com>
+
+ * cfgcleanup.c: Fix a comment typo.
+
+2001-10-30 Kazu Hirata <kazu@hxi.com>
+
+ * alias.c: Fix comment formatting.
+ * recog.c: Likewise.
+ * config/cris/cris.c: Likewise.
+ * config/cris/cris.h: Likewise.
+ * config/i960/i960.c: Likewise.
+ * config/i960/i960.h: Likewise.
+
+2001-10-30 Kazu Hirata <kazu@hxi.com>
+
+ * config/arm/arm.c: Fix a comment typo.
+ * config/arm/arm.h: Likewise.
+ * config/ia64/ia64.c: Likewise.
+
+2001-10-30 Jakub Jelinek <jakub@redhat.com>
+
+ * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
+ REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any).
+ * rtl.h (set_unique_reg_note): Change return value.
+ * gcse.c (try_replace_reg): Use set_unique_reg_note.
+ * cse.c (cse_insn): Likewise.
+ * expr.c (emit_move_insn): Likewise.
+ * explow.c (force_reg): Likewise.
+ * local-alloc (update_equiv_regs): Likewise.
+ * loop.c (move_moveables, load_mems): Likewise.
+ * reload (find_reloads): Likewise.
+
+2001-10-30 Paolo Bonzini <bonzini@gnu.org>
+
+ Localization fixes.
+ * c-decl.c (parmlist_tags_warning, start_struct,
+ check_for_loop_decls): Separate messages for struct, union and
+ enum cases to allow for languages in which they have different
+ genders.
+ * c-format.c (scanf_flag_specs): Separate short and long name of
+ the assignment suppression feature.
+ (check_format_types): Localize "pointer" and "different types"
+ strings.
+ * c-lex.c (lex_number): Localize "an unsigned long int" and
+ related strings.
+ (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
+ warning message.
+ * c-typeck.c (build_unary_up): Separate messages for increment and
+ decrement cases to allow for languages in which they use different
+ articles. Localize the strings "increment" and "decrement" in one
+ case.
- Wed Aug 19 16:58:41 1992 Chip Salzenberg (chip@tct.com)
+Tue Oct 30 11:08:11 CET 2001 Jan Hubicka <jh@suse.cz>
- * cp-typeck.c (default_conversion): Convert enumeral types to
- appropriate _signed_ type unless -traditional.
+ * lcm.c (optimize_mode_switching): Do not rebuild liveness information
+ when no changes has been made.
- Tue Aug 4 13:11:36 1992 Chip Salzenberg (chip@tct.com)
+ * gcse.c (reg_set_bitmap): Turn into reg_set.
+ (modify_mem_list_set, canon_modify_mem_list_set)
+ (clear_modify_mem_tables, free_modify_mem_tables): New.
+ (gcse_main); Use free_modify_mem_tables.
+ (free_gcse_mem): Likewise; free the bitmaps.
+ (alloc_gcse_main): Initialize the bitmaps.
+ (canon_list_insert): Set canon_modify_mem_list_set.
+ (record_last_mem_set_info): Likewise; set modify_mem_list_set.
+ (compute_hash_table): Use clear_modify_mem_tables.
+ (reset_opr_set_tables): Likewise.
+ (oprs_not_set_p): reg_set_bitmap is regset.
+ (mark_set, mark_clobber): Likewise.
- * cp-cvt.c (convert): If main variants match,
- but the type is not identical, make a NOP_EXPR.
+ * df.h (DF_EQUIV_NOTES): New constant.
+ (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
+ when asked for.
- * cp-decl.c (warn_redundant_decls): Declared.
- (duplicate_decls): Optionally warn about redundant declations.
- (pushdecl): Never reuse global fcn decl in place of local extern;
- just copy some info from it.
- (init_decl_processing): __builtin_saveregs returns void *.
- (store_parm_decls, finish_function, start_method, finish_method):
- Compare TYPE_MAIN_VARIANT against void_type_node.
+ * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
+ (init_regions, schedule_insns): Conditionalize the checking
+ code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
- * cp-decl2.c (warn_redundant_decls): Defined.
- (lang_decode_option): Decode -Wredundant-decls.
+Tue Oct 30 11:02:31 CET 2001 Jan Hubicka <jh@suse.cz>
- * cp-typeck.c (build_conditional_expr): Don't use type1 as
- temporary variable; set result_type directly.
+ * i386.md (movti_rex64 splitter): Fix condition.
- Tue Aug 4 12:04:17 1992 Chip Salzenberg (chip@tct.com)
+2001-10-29 Zack Weinberg <zack@codesourcery.com>
- * cp-tree.h (C_PROMOTING_INTEGER_TYPE_P): Defined.
- * cp-class.c (finish_struct): Use it.
- * cp-decl.c (duplicate_decls, grokdeclarator): Ditto.
- (grokparms, start_function): Ditto.
- * cp-typeck.c (self_promoting_args_p, default_conversion): Ditto.
- * cp-parse.y (primary): Set TREE_CONSTANT in the NOP_EXPR for an enum.
+ * configure.in: Do not assume that gas's version number is the
+ last thing on the first line of as --version output.
+ * configure: Regenerate.
- Tue Aug 4 09:17:32 1992 Chip Salzenberg (chip@tct.com)
+ * tradcpp.c: Include intl.h. Rename WARNING, ERROR, FATAL to
+ MT_WARNING, MT_ERROR, MT_FATAL.
+ (main): Call gcc_init_libintl.
+ (v_message): Call gettext on msgid and "warning: "
+ * tradcif.y: Include intl.h.
+ (yyerror): Make parameter definition consistent with
+ prototype. Call gettext on msgid argument.
- * cp-decl.c (duplicate_decls, grokdeclarator, grokparms):
- Use TYPE_MAIN_VARIANT when comparing against specific types.
- (build_enumerator): Use STRIP_TYPE_NOPS.
- (start_function): Force main() to return "int", not just any
- integral type.
+2001-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * cp-typeck.c (self_promoting_args_p, default_conversion):
- Use TYPE_MAIN_VARIANT when comparing against specific types.
- (unsigned_type, signed_type): If type is not known, return it
- unchanged instead of returning its TYPE_MAIN_VARIANT.
- (build_binary_op_nodefault): Use TYPE_MAIN_VARIANT when
- comparing against specific types. Also use STRIP_TYPE_NOPS.
- Also copy error messages from equivalent code in c-typeck.c.
+ * combine.c (num_sign_bit_copies): Avoid signed/unsigned
+ warnings.
- * cp-parse.y (primary): Wrap a NOP_EXPR around an enum value.
+ * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
- Wed Sep 2 18:06:47 1992 Mike Stump (mrs@cygnus.com)
+Mon Oct 29 19:22:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- Wed Sep 2 17:33:59 1992 Chip Salzenberg (chip@tct.com)
+ * reload1.c (eliminate_regs): Test for reg_renumber being allocated
+ before referencing it.
- * cp-decl.c (grokdeclarator): Default friends to being PUBLIC.
+2001-10-26 DJ Delorie <dj@redhat.com>
- Tue Sep 1 12:33:01 PDT 1992 Ron Guilmette (rfg at netcom.com)
+ * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
+ override -G, and force -G0.
- * cp-init.c (do_friends): Always return `void_type_node'.
+2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
- * cp-decl.c (grokparms): Call digest_init on default arguments for
- formal parameters.
+ * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
+ FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
+ c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
+ timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
- * cp-decl.c (xref_tag): The BINFO records describing individual
- inheritances aren't shared in the lattice.
+ * loop.h (struct induction): Rename ext_dependant to
+ ext_dependent.
+ * loop.c: Change all uses.
+ (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
+ All callers changed.
+ * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
- Tue Sep 1 12:27:17 1992 Mike Stump (mrs@cygnus.com)
+2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
- * cp-call.c (convert_harshness, compute_conversion_costs): The
- READONLY flag for a const object could be down in the type of the
- reference.
+ * c-parse.in (expr_no_commas, primary), c-typeck.c
+ (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
- * cp-call.c (compute_conversion_costs): Don't ignore the cost of
- converting the first argument, if it is not a method. Fixes Mon Aug
- 31 22:32:34 change.
+2001-10-29 David Edelsohn <edelsohn@gnu.org>
- Tue Sep 1 11:58:52 1992 Mike Stump (mrs@cygnus.com)
+ Undo assemble_name change in earlier patch.
- * cp-tree.h (THIS_NAME): Use the name ``this'' instead of the more
- cryptic name ``$t''.
+Mon Oct 29 21:11:40 2001 Nicola Pero <n.pero@mi.flashnet.it>
- Mon Aug 31 22:32:34 1992 Mike Stump (mrs@rtl.cygnus.com)
+ * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
+ determining the type of the receiver, do not check that TREE_CODE
+ of receiver is CALL_EXPR before calling receiver_is_class_object().
+ (receiver_is_class_object): For the GNU runtime: recognize
+ the case that the receiver is self in a class method context.
+ Check that TREE_CODE of receiver is CALL_EXPR when checking that
+ the receiver is a call to objc_get_class.
- * cp-init.c (build_member_call): When forming method calls that use
- a qualified name, convert the instance pointer to the type implied
- by the qualification. Base::member_func(); converts this to be a
- (Base *).
+2001-10-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
- * cp-call.c (compute_conversion_costs): Don't penalize conversion
- of the instance pointer on method calls, as they could be pointers
- to base classes.
+ * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
- Mon Aug 31 18:34:33 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+Mon Oct 29 07:23:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * cp-decl.c (start_function): When a friend function is being
- defined, put it in (lexical) scope of the class in which it appears.
+ * Makefile.in (OBJS): Put all files in alphabetical order.
- Mon Aug 31 09:57:27 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+ * dwarf2out.c (add_const_value_attribute): Fix error in last
+ change.
- * cp-typeck.c (build_modify_expr): For assignments to member
- variables like "X::i", call resolve_offset_ref to get the lhs; all
- the code and checking was in there, it just wasn't being used.
+Mon Oct 29 12:43:06 CET 2001 Jan Hubicka <jh@suse.cz>
- * cp-class.c (finish_struct_methods): Give the name of the class
- in question when reporting that all its member functions are
- private.
+ * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
+ * cfgcleanup.c (merge_blocks): Update the life flag after merging;
+ fix warning.
+ * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
+ (life_analysis): call purge_all_dead_edges after deleting noops.
+ (delete_noop_move): Do not purge CFG.
+ * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
- Sun Aug 30 08:34:03 1992 Mike Stump (mrs@rtl.cygnus.com)
+2001-10-28 David Edelsohn <edelsohn@gnu.org>
- * cp-decl2.c (setup_vtbl_ptr): Disable the code, until problems can
- be worked around.
+ * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
+ * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
+ (ASM_GLOBALIZE_LABEL): Use assemble_name.
+ (ASM_OUTPUT_COMMON): Likewise.
+ * config/rs6000/rs6000.c (print_operand): Use assemble_name.
+ (rs6000_output_function_epilogue): Likewise.
+ (output_mi_thunk): Fix typo.
+ (rs6000_output_symbol_ref): Use assemble_name.
+ (output_toc): Likewise.
+ * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
+ * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
+ assemble_name calls STRIP_NAME_ENCODING.
+ (ASM_OUTPUT_LABEL): Use assemble_name.
+ (ASM_GLOBALIZE_LABEL): Likewise.
+ (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op. Use assemble_name.
+ (ASM_OUTPUT_LOCAL): Likewise.
- Sat Aug 29 10:34:10 1992 Mike Stump (mrs@rtl.cygnus.com)
+Sun Oct 28 15:45:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
+ (expand_builtin_apply, expand_builtin_return): Likewise.
+ (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
+
+2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
+ ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
+ c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
+ configure, configure.in, except.c, except.h, flow.c, function.c,
+ gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
+ predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
+ sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
+ unroll.c: Fix spelling errors.
+
+ * doc/extend.texi, doc/invoke.texi: Fix spelling.
+
+ * doc/gcc.texi: Document use of "dependent" and American spelling.
+
+Sun Oct 28 17:05:36 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * expr.c (emit_group_load): Support CONCATs by storing them to memory
+ and reloading.
+
+Sun Oct 28 09:59:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * expr.c (store_constructor_field): Only call adjust_address on MEM.
+
+Sun Oct 28 16:48:09 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * genrecog.c (write_switch): Output if before switch for
+ DT_elt_zero_wide_safe.
+
+2001-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
+ * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
+ (FUNCTION_PROFILER): Const-ify.
+ * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
+ (eliminate_constant_term, assemble_name, output_addr_const):
+ Remove declarations.
+ (ptr_half_pic_address_p, half_pic_hash): Prototype.
+ (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
+ half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
+ * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
+ (half_pic_declare, half_pic_external): Const-ify.
+ * toplev.c: Include "halfpic.h".
- * cp-init.c (emit_base_init): Undo Sat Jan 18 12:06:58 change by
- tiemann that incorrectly makes -pedantic initialization of virtual
- base classes 1 or more levels deep impossible.
+2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
- Sat Aug 29 10:03:07 1992 Mike Stump (mrs@rtl.cygnus.com)
+ * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
+ config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
+ config/i386/i386.c, config/i386/i386-interix.h,
+ config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
+ config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
+ config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
+ config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
+ config/sparc/sparc.c, config/m68hc11/m68hc11.c,
+ config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
+ config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
+ spelling errors.
- * cp-class.c (finish_struct): Allow extern "C" functions to be
- friends.
+ * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
+ ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
+ c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
+ collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
+ haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
+ regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
+ system.h, toplev.c: Fix spelling errors.
+
+Sat Oct 27 17:32:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
+
+ * dwarf2out.c (reg_number): Abort if pseudo.
+ (reg_loc_descriptor): Return 0 if pseudo.
+ (is_based_loc): Return 0 if pseudo.
+ (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
+ recursive calls.
+ (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
+ (loc_descriptor): Return 0 if can't find location and handle 0
+ return from recursive calls.
+ (loc_descriptor_from_tree): Likewise.
+ Fix handling of indirect.
+ Also return 0 for PLACEHOLDER_EXPR.
+ Clean up COMPONENT_REF cases.
+ (add_AT_location_descriptor): Simplify, but handle 0 return from
+ loc_descriptor.
+ (add_const_value_attribute): Avoid shift count warning.
+ (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
+ Set comp_unit_die as context if not in function.
- Sat Aug 29 04:43:22 1992 Mike Stump (mrs@rtl.cygnus.com)
+ * config/mips/mips-protos.h: Break up long lines.
+ Remove needless #ifdef/#endif blocks.
+ Don't declare functions declared in file made by genpreds or recog.h.
+ * config/mips/mips.c (mips_output_function_prologue): TSIZE
+ is now HOST_WIDE_INT; delete unneeded casts.
+ * config/mips/mips.h: Don't use #elif.
- * cp-parse.y (used_extern_spec), cp-decl.c (start_decl,
- start_function): Make sure extern in extern "C" (fndef | datadef)
- applies to only one decl. Fixes problem introduced on Thu Aug 20
- 16:11:58.
+ * expr.c (stor_constructor_field): Always call adjust_address.
+ Copy TARGET before changing its alias set.
+ (store_field): Likewise, for TO_RTX.
+ (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
+ replacement.
+ (safe_from_p, case ADDR_EXPR): Properly check for conflict.
+ (find_placeholder): Return 0 if can't find object.
+ (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
+ returns 0.
+
+Sat Oct 27 16:31:23 CEST 2001 Jan Hubicka <jh@suse.cz>
- Thu Aug 27 09:33:13 1992 Brendan Kehoe (brendan@cygnus.com)
+ * ifcvt.c (if_convert): Call clear_aux_for_blocks.
- * cp-decl.c (grokdeclarator): Name operators properly when
- complaining about trying to declare it as a method when not in a
- class.
+Sat Oct 27 12:12:09 CEST 2001 Jan Hubicka <jh@suse.cz>
- * cp-decl.c (grok_reference_init): Forbid volatile->const refs,
- and vice-versa. Also make the tests apply to all types, not just
- aggregates. (Now fully compliant with ANSI C++ June 5 1996 WP
- section 8.4.3.5.)
+ * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
+ merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
+ (merge_blocks): Properly udpate life after making edge nonfallthru.
+ * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
+
+2001-10-26 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
+
+2001-10-26 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-typeck.c (convert_arguments): When comparing for enumeral
+ type equality, use TYPE_MAIN_VARIANT.
+ * gcc.dg/Wconversion.c: New tests.
+
+2001-10-26 Kazu Hirata <kazu@hxi.com>
+
+ * s390/s390.c: Fix comment typos.
+ * s390/s390.h: Likewise.
+ * s390/s390.md: Likewise.
+
+2001-10-26 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
+ (walk_tree): Use it for tail calls where appropriate.
- * cp-decl.c (shadow_tag): Don't allow a function to be a member of
- an anonymous union.
+2001-10-26 Alexandre Oliva <aoliva@redhat.com>
- * cp-class.c (finish_struct): For a type that's nested within a
- class, use the class value itself when checking a typedef that uses
- that new nested type.
+ * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
+ non-local label_refs.
- Wed Aug 26 20:24:07 1992 Brendan Kehoe (brendan@cygnus.com)
+2001-10-26 Kazu Hirata <kazu@hxi.com>
- * cp-decl.c (decls_match): When converting from a
- pseudo-METHOD_TYPE for a static member fn, handle the static
- function being both in the new and old declarations.
- (revert_static_member_fn): New function.
+ * config/h8300/h8300.md (4 anonymous patterns): New.
- * cp-call.c (build_method_call): Put out proper line number for
- error with the use of a private constructor.
+2001-10-26 Kazu Hirata <kazu@hxi.com>
- * cp-decl.c (grokdeclarator): If a storage class is erroneously
- specified for an operator, print the operator's name out properly in
- the error message (e.g., print `+' instead of `__pl').
+ * config/h8300/h8300.c (get_shift_alg): Clean up. Return the
+ algorithm through the shift_info structure.
+ (emit_a_shift): Update the use of get_shift_alg.
- * cp-decl.c (grokdeclarator): Allow neither constructors nor
- destructors to be declared const or volatile.
+2001-10-27 Daniel Berlin <dan@cgsoftware.com>
- * cp-decl.c (grok_op_properties): New argument VIRTUALP.
- Use it to disallow declaring new or delete as virtual. Also
- use coerce_new_type() and coerce_delete_type() to
- sanity-check overloading of new and delete.
- (grokfndecl): Give grok_op_properties if the decl is virtual.
- (start_method): Likewise.
+ * sched-rgn.c: Remove bitset typedef.
+ Change bitset to sbitmap in prototypes / variable types.
+ Remove bbset_size.
+ Remove edgeset_bits.
+ Remove edgeset_size.
+ s/BITSET_ADD/SET_BIT/g
+ s/BITSET_INVERT/sbitmap_ones/g
+ s/BITSET_INTER/sbitmap_a_and_b/g
+ s/BITSET_UNION/sbitmap_a_or_b/g
+ s/BITSET_DIFFER/sbitmap_difference/g
+ s/bitset_member/TEST_BIT/g
+ (BITSET_*): Removed.
+ (bitset_member): Removed.
+ (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
+ EXECUTE_IF_SET_IN_SBITMAP.
+ (split_edges): Rewrite, use sbitmap functions instead of bitset
+ operations.
+ (schedule_region): Allocate/free sbitmaps, rather than bitsets.
- * cp-tree.c (lvalue_p, ADDR_EXPR case): Casts to references are
- lvalues.
+2001-10-26 Andreas Schwab <schwab@suse.de>
-Thu Sep 3 02:46:44 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * reload1.c (emit_input_reload_insns): Fix parens in last
+ (undocumented) change that was supposed to change only whitespace.
- * caller-save.c (setup_save_areas): Don't look at WORDS_BIG_ENDIAN.
+Fri Oct 26 07:18:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * fixincludes: If we find a link pointing to ., make a similar
- link to ., not a link to an absolute name.
- (stdio.h): Change stdio.h to use stdarg.h to get va_list.
+ * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
- * cexp.y: Comment syntax fix.
+ * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
+ ASM_OPERANDS.
-Thu Sep 3 01:48:16 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+2001-10-26 Andreas Jaeger <aj@suse.de>
- * we32k.md (casesi): Use match_dup for second mention of operand 4.
+ * flow.c (clear_log_links): Remove unused variable.
+ * cfgcleanup.c (cleanup_cfg): Likewise.
-Wed Sep 2 06:58:32 1992 Michael Meissner (meissner@osf.org)
+2001-10-26 Alexandre Oliva <aoliva@redhat.com>
- * gcc.c (default_compilers): Add missing comma between strings, so
- that traditional compilers can compile gcc.c.
- (main): Don't pass strcpy or strlen a NULL pointer if some of the
- spec strings in default_compilers are NULL.
- (validate_all_switches): Don't dereference a NULL pointer if some of
- the spec strings in defalut_compilers are NULL.
+ * tree-inline.c (remap_decl): Don't copy size and size_unit here.
+ (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
- * gcc.c (main): Use new loop var J to avoid conflict with I.
+2001-10-26 Richard Henderson <rth@redhat.com>
-Wed Sep 2 19:09:02 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
+ * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
+ rename PV_REG to R27_REG.
+ (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
+ (REG_CLASS_FROM_LETTER): Update.
+ (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
+ * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
+ (udivsi3, modsi3, umodsi3): Likewise.
+ (divdi3, udivdi3, moddi3, umoddi3): Likewise.
- * caller-save.c (init_caller_save): If we were unable to
- find a simple insn which meets all its constraints to save
- and restore with a single insn in a mode, then set
- regno_save_mode to VOIDmode to insure that this mode is never
- used to caller-save the current register.
+2001-10-26 Richard Henderson <rth@redhat.com>
-Wed Sep 2 12:34:39 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * cfg.c (clear_aux_for_blocks): Split out of ...
+ (free_aux_for_blocks): here.
+ (clear_aux_for_edges): Split from ...
+ (free_aux_for_edges): here.
+ * basic-block.h: Declare them.
+ * lcm.c (compute_antinout_edge): Use them.
+ (compute_laterin, compute_available, compute_nearerout): Likewise.
+ (optimize_mode_switching): Likewise.
- * caller-save.c (insert_save_restore): Correct test for
- determining whether multiple registers can be saved.
+2001-10-26 Richard Henderson <rth@redhat.com>
- * sparc.md (SImode ldd peepholes): Add `f' to constraints.
+ * Makefile.in (unstage*): Remove as, ld, collect-ld before
+ moving everything back to the main build directory.
- * sparcv4.h (HANDLE_PRAGMA): Delete.
- * sparc.c (handle_pragma_token): Delete.
+2001-10-26 Christopher Faylor <cgf@redhat.com>
- * config/spc-sol2.h: Change the location of the Sun bundled C
- compiler in MD_STARTFILE_PREFIX (for backup defaults).
+ * config/i386/cygwin.h: Search target specific include directory, if
+ appropriate.
-Wed Sep 2 09:11:16 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * m88k.h (MOVE_MAX): Express in bytes not bits.
+ * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
+ of macro guards. Fix #endif comment.
- * m88k.c (output_ascii): Output known escape characters and don't
- terminate the constant if an octal escape is used.
+ * output.h (default_exception_section, default_eh_frame_section):
+ Move prototypes outside of macro guard.
-Wed Sep 2 06:38:37 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * crtstuff.c: Fix #endif comment.
- * combine.c (make_compound_operation, case ASHIFTRT): Add new
- code to handle (ashiftrt (neg (ashift FOO C1) C2)) just like we
- currently handle (ashiftrt (OP (ashiftrt FOO C1) C2) C2).
+Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com)
-Wed Sep 2 00:15:42 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * doc/md.texi (movMM): Clarify semantics of storing into a
+ non-paradoxical SUBREG.
- * Makefile.in (install): Add semicolon to make an empty command.
+2001-10-25 Zack Weinberg <zack@codesourcery.com>
- * reload.c (find_reloads): If have any earlyclobbers, don't let any
- reloads overlap with them. Make everything RELOAD_OTHER.
+ * langhooks.c (lang_hook_default_clear_binding_stack): New.
+ (lang_hook_default_get_alias_set): Move next to other alias
+ hooks.
+ * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
+ (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
+ (LANG_HOOKS_INITIALIZER): Add it.
+ * toplev.h (struct lang_hooks): Add clear_binding_stack.
+ * toplev.c (compile_file): Call lang_hooks.clear_binding_stack
+ instead of a loop calling poplevel.
- * move-if-change: Give status 1 if file is unchanged.
+2001-10-25 Nick Clifton <nickc@cambridge.redhat.com>
- * Makefile.in (SYSTEM_HEADER_DIR): New variable.
- (xlimits.h): New target, broken out from install-limits-h.
- Look in SYSTEM_HEADER_DIR for system's limits.h.
- (start.encap): Dep on xlimits.h.
- (install-limits-h): Install xlimits.h already made.
- * cross-make (SYSTEM_HEADER_DIR): Overridden.
+ * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
+ occurrences of #elif with #if...#endif.
- * x-i386sco (X_CFLAGS): Deleted.
- * x-i386sco4: New file, like old x-i386sco.
- * configure (i386-*-sco3.2v4*): Use x-i386sco4.
+2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * t-sol2 (gmon.o): Find gmon-sol2.c in config.
+ * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
- * c-typeck.c (process_init_constructor): Fix bugs in previous change.
+Thu Oct 25 08:46:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Tue Sep 1 23:51:19 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+ * alias.c (can_address_p): No longer static.
+ * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
+ Return 0 if all parameters are default values.
+ (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
+ (adjust_address_1): Try harder to compute a size.
+ * expr.c (expand_assignment, store_constructor): If can't address,
+ set MEM_KEEP_ALIAS_SET_P.
+ (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
+ (store_field): Likewise.
+ (store_constructor): Simplify call to store_constructor_field.
+ * expr.h (can_address_p): New declaration.
+ * gensupport.c (gen_rtx_CONST_INT): New function.
+ * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
+ (MEM_SIZE): Get size from mode, if not set and not BLKmode.
+ (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
- * gcc.c (default_compilers, ".C" and ".ii"): Pass `+e*' into cc1plus.
- (process_command): Allow +e[012] to be passed down into cc1plus.
- * cp-decl.c (lang_decode_option): The options `+e0' thru `+e2' will
- be coming in prefixed as `-+e'.
+ * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
-Tue Sep 1 20:09:29 1992 Paul Eggert (eggert@twinsun.com)
+2001-10-24 Christopher Faylor <cgf@redhat.com>
- * print-tree.c (print_node): Avoid 1 << (HOST_BITS_PER_INT - 1),
- which overflows. Use unsigned % to compute HASH.
+ * config/i386/cygwin.h: Use proper path for mingw crt files when
+ -mno-cygwin.
-Tue Sep 1 17:23:28 1992 Tim Moore (moore@hal)
+Wed Oct 24 18:43:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * pa.h (CPP_SPEC, TARGET_SWITCHES): new flags: -mnosnake,
- -mpa-risc-1-0, -mpa-risc-1-1.
- (ASM_DECLARE_FUNCTION_NAME): Emit argument descriptors for all
- general registers if current_function_varargs.
+ * dwarf2out.c (file_info_cmp): Always return consistent results.
-Tue Sep 1 11:27:08 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
+2001-10-24 Roger Sayle <roger@eyesopen.com>
- * sparc.c (handle_pragma_token): Only use if HANDLE_SYSV_PRAGMA
- isn't defined. (We'll be getting the fn from c-pragma.c, then.)
+ * stmt.c (expand_end_case): Index jumptables from zero for
+ suitably small values of minval.
-Sat Aug 29 13:44:21 PDT 1992 Ron Guilmette (rfg at netcom.com)
+2001-10-24 Jakub Jelinek <jakub@redhat.com>
- * tree.h (current_block): Decl deleted.
- (set_block): Declared.
- * stmt.c (expand_fixup): Create a BLOCK node (via pushlevel/poplevel)
- to represent an artificial scope containing all of the fixup code.
- Also emit NOTE_INSN_BLOCK_BEG/NOTE_INSN_BLOCK_END for that block.
- (fixup_gotos): Declaration of NEWBLOCK deleted.
- Call `set_block' to use the BLOCK made in expand_fixup.
- Deleted code to insert NEWBLOCK into block hierarchy.
- * c-decl.c, cp-decl.c (current_block): Function deleted.
- (set_block): New function.
- (poplevel): If using a previously created block,
- don't insert it into the parent level.
- * emit-rtl.c (emit_insns_after): Update last_insn if nec.
+ * stor-layout.c (place_union_field): If any field was aligned with
+ attribute aligned, set record type's TYPE_USER_ALIGN.
+ (place_field): Likewise.
+ (finalize_record_size): Don't clear TYPE_USER_ALIGN.
+ (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
-Tue Sep 1 10:53:58 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+2001-10-24 Zack Weinberg <zack@codesourcery.com>
- * pa.c (output_move_double): Use `ldo' for immediate adds (instead
- of `addi' with bad syntax).
- (output_load_address): Likewise.
+ * c-common.h (struct c_common_identifier): Remove rid_code field.
+ (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
-Tue Sep 1 02:41:13 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * c-typeck.c (constructor_designated): New local flag.
+ (struct constructor_stack): Add "designated" field to match.
+ (start_init): Clear it.
+ (really_start_incremental_init, push_init_level): Push and
+ clear it.
+ (pop_init_level): Pop it.
+ (set_designator): Set it.
- * tree.h (struct tree_type): Make `align' field an int.
+ (pop_init_level): Suppress "missing initializer" warnings if
+ constructor_designated is true.
+ (process_init_element): Suppress warning about union
+ initialization under traditional C, if constructor_designated
+ is true.
- * c-tree.h (IDENTIFIER_LIMBO_VALUE): New macro.
- (struct lang_identifier): New field limbo_value.
+Wed Oct 24 15:35:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Mon Aug 31 12:59:22 PDT 1992 Ron Guilmette (rfg at netcom.com)
+ * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
+ change.
- * tree.c (make_node): Fix typo in July 6 change:
- assignment of DECL_IN_SYSTEM_HEADER was inserted in bad place.
+Wed Oct 24 13:26:12 2001 Jeffrey A Law (law@cygnus.com)
-Mon Aug 31 21:28:08 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
- * sched.c (sched_analyze_2): Remove an explicit dependence between
- an insn that uses CC0 and the immediately previous insn
- (SCHED_GROUP_P represents the dependence).
- (schedule_block): Only check sets_cc0_p on an insn.
+2001-10-24 Dan Nicolaescu <dann@ics.uci.edu>
-Mon Aug 31 15:32:13 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
+ the node was already a set to a constant.
- * gcc.c (struct compiler): spec field is now array of 4 elements.
- (read_specs): Clear the entire new element of compilers.
- (lookup_compiler): Copy all of spec array. Check element 0 for @.
- (main): Concatenate all elements of compiler spec.
- (validate_all_switches): Validate from all elements of compiler spec.
- (default_compilers): Split CPP commands into separate strings.
+Wed Oct 24 12:41:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Mon Aug 31 10:06:16 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
+ * emit-rtl.c (set_mem_attributes): Fix typo in last change.
+ * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
- * caller-save.c (restore_referenced_regs): When restoring a
- referenced hard register, use CEIL instead of a truncating divide
- to determine the maximum number of registers to restore.
- (insert_save_restore): Document maxrestore parameter.
- (CEIL): Define.
+2001-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Mon Aug 31 04:02:21 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
+ (ASM_OUTPUT_ASCII): Const-ify. Fix signed/unsigned warning.
+ (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
+ * s390.c (s390_final_chunkify): Don't use string concatenation.
+ (s390_function_prologue, s390_function_epilogue): Const-ify.
+ * s390.h (FUNCTION_PROFILER): Remove unused variable.
- * fold-const.c (const_binop): Delete special case for mult by 3.
+2001-10-24 Jakub Jelinek <jakub@redhat.com>
- * toplev.c (lang_options): Add terminating zero.
+ * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
+ prototypes.
- * configure.bat: Remove version number from initial message.
+2001-10-23 Stan Shebs <shebs@apple.com>
-Sun Aug 30 17:22:11 1992 James Van Artsdalen (james at bigtex.cactus.org)
+ * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
+ -traditional-cpp in first-stage compilation.
- * cccp.c (do_pragma): In prev. change, really use U_CHAR *, not char *.
+Tue Oct 23 21:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * aix386.h, i386gas.h, i386sun.h, i386v.h, i386v4.h, i386vgas.h,
- seq386.h (TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO):
- Move from here,
- * unx386.h (TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO):
- To here.
- (TARGET_DEFAULT): Make TARGET_IEEE_FP default on.
- (VALUE_REGNO): Test for MODE_FLOAT instead of specific modes.
- (VALUE_REGNO,FUNCTION_VALUE_REGNO): MODE_FLOAT return reg depends on
- TARGET_FLOAT_RETURNS_IN_80387.
+ * gensupport.c (target_flags): Add.
- * i386.h (TARGET_FLOAT_RETURNS_IN_80387): New macro.
- (TARGET_SWITCHES): Add "no-80387", "no-soft-float",
- "fp-ret-in-387", and "no-fp-ret-in-387".
- Change no* switches to no-*.
- (CONDITIONAL_REGISTER_USAGE): Make 387 regs fixed if the 387 is not
- used at all.
- (REG_CLASS_FROM_LETTER): Constraint letters 'f', 't' and 'u' are
- NO_REGS if the 387 is not used.
- (TRAMPOLINE_TEMPLATE): Use GEN_INT to generate const_int rtx.
+Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
- * x-i386v4: New file.
- (CLIB): Get alloca from libucb.a.
- * configure (i386-*-sysv4*): Use x-i386v4.
+ * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
+ if needed.
+ (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
+ * except.c (expand_builtin_frob_return_addr): Likewise.
+ (expand_builtin_eh_return): Likewise.
+ * stmt.c (expand_computed_goto): Likewise.
+ * explow.c (memory_address): Likewise.
+ (allocate_dynamic_stack_space): Clean up predicate testing.
+ (probe_stack_range): Convert SIZE to Pmode.
+ * calls.c (rtx_for_function_call): Only call convert_memory_address
+ if needed.
+ Pass function call operand as ptr_mode, not Pmode.
+ * expr.c (expand_assignment): Clean up calls to convert_memory
+ address by only doing so when needed and making offsets Pmode.
+ (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
+ * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
+ is in Pmode, not ptr_mode.
-Sun Aug 30 15:32:54 1992 Dennis Glatting (dglattin at trirex.com)
+2001-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * objc-actions.c (create_builtin_decl): Set TREE_STATIC.
- Don't set DECL_EXTERNAL or TREE_PUBLIC.
+ * darwin-protos.h (constructor_section, destructor_section,
+ mod_init_section, mod_term_section): Prototype.
+ * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
+ Const-ify.
+ * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
+ Likewise.
+ (SECTION_FUNCTION): Prototype `FUNCTION'. Delete
+ objc_section_init declaration.
+ (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
+ (objc_section_init, try_section_alias): Make static.
+ (alias_section): Make static and hide unused function.
+ (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
+
+Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * alias.c (can_address_p): Compnonents are not addressable if
+ the containing type has alias set 0.
+ (get_alias_set): Rework to use STRIP_NOPS.
+ Only call front-end routine on object, type, or object with
+ NOPs stripped, not inner values.
+ Use language hook to call front-end routine.
+ * builtins.c (get_memory_rtx): Always call set_mem_attributes.
+ (expand_builtin_apply): Call set_mem_align on MEMs we make.
+ Don't pass alignment to emit_block_move.
+ (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
+ (expand_builtin_memset): Likewise, but for clear_storage.
+ * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
+ and remove C++ specific parts.
+ * c-common.h (c_common_get_alias_set): Add declaration.
+ * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
+ * calls.c (emit_call_1): Fix typo in sibcall_pop case.
+ (save_fixed_argument_area): Call set_mem_align.
+ Remove alignment in call to emit_block_move.
+ (emit_library_call_value_1, store_one_arg): Likewise.
+ (target_for_arg): Remove; disabled long ago.
+ * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
+ once and similar cleanups.
+ (offset_address): Use proper introductory comment.
+ * expr.c (emit_block_move): Use alignment from that of MEM args, not
+ from explicit operand; all callers changed.
+ (clear_storage): Likewise.
+ (expand_assignment): Don't call set_mem_alias_set on to_rtx.
+ (store_field): Remove kludge on alias set used for to_rtx.
+ (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
+ (expand_expr_unaligned): Call set_mem_attributes instead of
+ set_mem_alias_set.
+ * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
+ * function.c (assign_stack_temp_for_type): Set MEM alignment.
+ (expand_function_end): Track MEM attributes of trampolines.
+ * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
+ * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
+ attributes from original.
+ * langhooks.c (lang_hook_default_get_alias_set): New function.
+ (hook_get_alias_set_0): New function.
+ * langhooks.h (hook_get_alias_set_0): New declaration.
+ (lang_hook_default_get_alias_set): Likewise.
+ (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
+ * reload1.c (alter_reg): Use adjust_address_nv.
+ * rtl.c (get_mode_alignment): Moved to here.
+ * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
+ change default if unknown from 1 to BITS_PER_UNIT.
+ * stor-layout.c (get_mode_alignment): Remove from here.
+ * toplev.h (struct lang_hoks): Add get_alias_set field.
+ * tree.h (lang_get_alias_set): Delete declaration.
+ * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
+ * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
+ (ix86_va_arg): Likewise.
+ * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
+ * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
+ * config/sparc/sparc.c (sparc_va_arg): Likewise.
+ * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
+ (expand_block_move_mem): Remove dead code.
+
+2001-10-22 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-common.c (warn_div_by_zero): New.
+ * c-common.h (warn_div_by_zero): New.
+ * c-decl.c (c_decode_option): Take it on the command line.
+ * c-typeck.c (build_binary_op): Warn about division by zero.
+ * doc/invoke.texi: Document the new command line option, fix
+ documentation of -Wmultichar.
+ * testsuite/gcc.dg/divbyzero.c: New tests.
+ * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
+
+Tue Oct 23 15:30:23 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
+
+ * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
+ to avoid update_life_info call.
+ * basic-block.h (CLEANUP_UPATE_LIFE): Define.
+ * cfgcleanup.c (bb_flags): New enum.
+ (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
+ (notice_new_block, update_forwarder_flag): New functions.
+ (try_simplify_condjump): Use FORWARDER_BLOCK_P.
+ (try_forward_edges): Likewise; update flags.
+ (merge_blocks): Likewise.
+ (outgoing_edges_match): Likewise.
+ (try_crossjump_to_edge): Likewise.
+ (try_optimize_cfg): Likewise; initialize and clear the flags;
+ recompute life info if needed.
+ (cleanup_cfg): No need to clear aux pointers.
+
+2001-10-23 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/i386/i386.c (override_options): Default to minimum
+ stack alignment when optimizing for code size.
+ * doc/invoke.texi (-mpreferred-stack-boundary): Document the
+ change.
+
+ * config/i386/i386.c (override_options): Set upper limit of
+ -mpreferred-stack-boundary to 12.
+
+2001-10-22 Zack Weinberg <zack@codesourcery.com>
+
+ * recog.c (peephole2_optimize): Add default case to switch.
+
+2001-10-23 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/gcc.texi (Sending Patches): Remove.
+
+2001-10-22 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
+ fields when comparing.
+
+2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * arm.h (HOST_INT, HOST_UINT): Delete. Remove all uses.
+ * arm.c (HOST_INT, HOST_UINT): Likewise.
+
+2001-10-22 Stan Shebs <shebs@apple.com>
+
+ * config/darwin-protos.h (darwin_exception_section): Declare.
+ (darwin_eh_frame_section): Declare.
+
+Mon Oct 22 18:21:25 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (movti_rex64): Fix mode.
+
+2001-10-22 Stan Shebs <shebs@apple.com>
+
+ * target.h (struct gcc_target): Add asm_out.exception_section,
+ asm_out.eh_frame_section.
+ * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
+ (TARGET_ASM_EH_FRAME_SECTION): New.
+ (TARGET_INITIALIZER): Update.
+ * output.h (default_exception_section): Declare.
+ (default_eh_frame_section): Declare.
+ * dwarf2out.c: Include target.h.
+ (output_call_frame_info): Call target hook for eh frames.
+ (default_eh_frame_section): New function.
+ * except.c: Include target.h.
+ (output_function_exception_table): Call target hook for exception
+ section.
+ * varasm.c (default_exception_section): Rename from
+ exception_section, remove EXCEPTION_SECTION macro.
+
+ * config/darwin.h (darwin_eh_frame_section): New function.
+ (EXCEPTION_SECTION): Remove.
+ (TARGET_ASM_EXCEPTION_SECTION): Define.
+ * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
+ (nextstep_exception_section): New function.
+ (nextstep_eh_frame_section): New function.
+ (TARGET_ASM_EXCEPTION_SECTION): Define.
+ (TARGET_ASM_EH_FRAME_SECTION): Define.
-Sun Aug 30 03:08:48 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/pa/som.h (EXCEPTION_SECTION): Remove.
+ (TARGET_ASM_EXCEPTION_SECTION): Define.
+ * config/rs6000/sysv4.h, config/rs6000/xcoff.h
+ (EXCEPTION_SECTION): Remove.
+ (TARGET_ASM_EXCEPTION_SECTION): Define.
+ * config/stormy16/stormy16.h: Remove comments referencing
+ EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
- * c-parse.y (initlist): Handle ranges of array elements.
- * c-typeck.c (process_init_constructor): Handle ranges.
+ * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
+ TARGET_ASM_EH_FRAME_SECTION.
- * fixincludes: When link points to a dir $dirname outside $INPUT,
- copy that dir into $LIB/root$dirname. Translate the link itself
- into a link to that new dir. Make a file DONE in each treetop dir
- so no treetop is scanned twice. Improve progress messages.
+2001-10-22 Nick Clifton <nickc@cambridge.redhat.com>
-Sat Aug 29 22:41:49 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
+ terms.
- * alpha.h (ASM_FILE_START): Object file version number now 8.0.
+ * c-format.c: Fix spelling typo in comment.
- * alpha.h (ADJUST_COST): New macro.
- * alpha.c (alpha_adjust_cost): New function.
- * alpha.md: Adjust function unit delays and more precisely
- describe function units.
-
- * alpha.h (CONST_OK_FOR_LETTER_P): Add new letters `O' and `P'.
- * alpha.c (print_operand, case 'P'): New case.
- * alpha.md (ashldi3): Special-case shifts by 1, 2, and 3 bits to
- use arithmetic instructions.
- Add pattern for sign-extending shifts by 1, 2, and 3 bits.
+ * sched-int.h: Fix typo in GCC preamble.
- * alpha.h (INITIALIZE_TRAMPOLINE): Use Pmode when appropriate.
- (FUNCTION_MODE): Use Pmode.
+2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
- * alpha.md (div/mod): Indicate that reg 27 is clobbered too.
+ PR debug/4252
+ * doc/invoke.texi: Remove references to -fdump-translation-unit.
- * alpha.md (cmov): Add define_split for if_then_else/plus case.
+2001-10-22 Richard Henderson <rth@redhat.com>
- * expr.c (emit_library_call): Pass correct number of args to
- convert_to_mode.
+ * config/i386/i386.c (ix86_expand_clear): New.
+ * config/i386/i386-protos.h: Declare it.
+ * config/i386/i386.md (setcc peep2s): Use it.
+ (movsi_xor): Unexport.
- * expr.c (emit_block_move): Eliminate unnecessary test against
- HOST_BITS_PER_WIDE_INT.
+2001-10-22 Richard Henderson <rth@redhat.com>
- * optabs.c (expand_{binop,unop}): Don't make invalid
- paradoxical SUBREGs.
+ * flow.c (clear_log_links): Use free_INSN_LIST_list, not
+ free_EXPR_LIST_list for LOG_LINKS.
- * genattrtab.c (RTL_HASH, attr_rtx): Avoid warnings by casting
- pointers to HOST_WIDE_INT instead of int.
+2001-10-21 Robert Lipe <robertlipe@usa.net>
+ * config/i386/i386.c (sco_asm_named_section): Delete.
+ (sco_asm_out_constructor): Delete.
+ * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
+ (ASM_OUTPUT_DOUBLE_INT): Likewise.
+ (TARGET_ASM_CONSTRUCTOR): Delete. Use default.
+ (TARGET_ASM_NAMED_SECTION): Use default for ELF.
+ (EXCEPTION_SECTION): Delete EH scn renaming hack.
-Sat Aug 29 15:35:58 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * toplev.c (lang_options): New table.
- (main): Recognize all language-dependent options of any language
- and always treat them as language-specific and valid.
+ * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
+ and/or fold extra calls into fewer ones.
+ * collect2.c (dump_file): Likewise.
+ * cppexp.c (parse_number): Likewise.
+ * cpplex.c (_cpp_lex_direct): Likewise.
+ * final.c (output_asm_insn, asm_fprintf): Likewise.
+ * fix-header.c (inf_scan_ident, main): Likewise.
+ * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
+ Likewise.
+ * fold-const.c (real_hex_to_f): Likewise.
+ * gen-protos.c (parse_fn_proto): Likewise.
+ * genattrtab.c (check_attr_test, check_attr_value): Likewise.
+ * genrecog.c (change_state, write_action): Likewise.
+ * gensupport.c (shift_output_template): Likewise.
+ * local-alloc.c (requires_inout): Likewise.
+ * mips-tfile.c (IS_ASM_IDENT): Likewise.
+ * protoize.c (is_id_char, main): Likewise.
+ * real.c (asctoeg): Likewise.
+ * recog.c (asm_operand_ok): Likewise.
+ * reload.c (find_reloads): Likewise.
+ * scan.c (scan_identget_token): Likewise.
+ * sched-vis.c (print_value): Likewise.
+ * stringpool.c (ggc_alloc_string): Likewise.
+ * toplev.c (read_integral_parameter, decode_g_option): Likewise.
+ * tradcif.y (parse_number, yylex, parse_escape): Likewise.
+ * tradcpp.c (rescan): Likewise.
+ * tree.c (clean_symbol_name): Likewise.
+ * varasm.c (decode_reg_name): Likewise.
- * c-decl.c (c_decode_option): -fnotraditional really undoes
- -ftraditional. Handle -fno-traditional also.
+ * alpha.h (ASM_OUTPUT_ASCII): Likewise.
+ * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
+ * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
+ * m88k.c (output_ascii): Likewise.
+ * m88k.h (OVERRIDE_OPTIONS): Likewise.
+ * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
+ * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
+ * sh.h (REG_CLASS_FROM_LETTER): Likewise.
-Sat Aug 29 00:34:01 1992 James Van Artsdalen (james at bigtex.cactus.org)
+2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
- * reg-stack.c (record_reg_life): Mark an unused reg as such, even
- if it appears in SET_SRC.
+ * langhooks.c (lang_hook_default_do_nothing,
+ lang_hook_default_decode_option): New defaults.
+ * langhooks.h: Make hooks unconditional and non-NULL.
+ * toplev.c (compile_file, toplev_main): Update.
+ * toplev.h: Update comments.
+ * objc/objc-act.c (lang_hooks): Update to new paradigm.
-Fri Aug 28 17:40:49 1992 John F Carr (jfc at Athena.MIT.EDU)
+2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * tree.c (chainon): Check for op2 being the last elt of the chain.
+ * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
-Fri Aug 28 13:26:56 PDT 1992 Ron Guilmette (rfg at ncd.com)
+ * system.h (IN_RANGE): New macro.
- * cccp.c (do_pragma): Use rindex, not strrchr.
+2001-10-21 Zack Weinberg <zack@codesourcery.com>
- * tree.h (BLOCK_END_NOTE): Macro definition added.
- (struct tree_block): `end_note' field added.
- * stmt.c (last_block_end_note): New variable.
- (remember_end_note): New function.
- (expand_end_bindings): Save NOTE_INSN_BLOCK_END in last_block_end_note.
- * c-decl.c, cp-decl.c (poplevel): Call `remember_end_note' for each
- newly created BLOCK node.
- * integrate.c (adjust_copied_decl_tree): New function.
- (save_for_inline_copying): When making copies of NOTE_INSN_BLOCK_END
- notes, stash a "forwarding" pointer in the original to point to the
- copy. Also, when all BLOCKs & insns for a function have been copied,
- call `adjust_copied_decl_tree' to fixup the end_note pointers in the
- copied BLOCKs.
+ * aclocal.m4 (AM_WITH_NLS): Also create and substitute
+ INTLDEPS variable, which does not include $LIBICONV.
+ * Makefile.in: Use INTLDEPS in LIBDEPS.
+ * configure: Regenerate.
-Fri Aug 28 13:25:59 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
- * cccp.c (do_pragma): In prev. change, use U_CHAR *, not char *.
+ * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
+ * cpplex.c (lex_percent, lex_dot): Remove.
+ (get_effective_char, skip_block_comment, skip_line_comment,
+ parse_identifier_slow, parse_number, parse_string, save_comment,
+ _cpp_lex_direct): Update to do lookback freely.
+ (IF_NEXT_IS, BACKUP): New macros.
+ * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
+ * cppmacro.c (paste_tokens): Update.
-Fri Aug 28 09:11:56 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-10-20 Nick Clifton <nickc@cambridge.redhat.com>
- * m88k.h (ADJUST_COST): Add definition.
+ * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
-Thu Aug 27 18:27:02 1992 James Van Artsdalen (james at bigtex.cactus.org)
+2001-10-20 Hans-Peter Nilsson <hp@axis.com>
- * c-decl.c (init_decl_processing): Add sin and cos as built-in
+ * reload1.c (reload): Check CONSTANT_P before calling
+ LEGITIMATE_PIC_OPERAND_P.
+ * config/cris/cris.c (cris_legitimate_pic_operand): Revert
+ workaround of 2001-10-13.
+
+Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (split_di): Handle splitting of DFmode.
+
+Sat Oct 20 07:27:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * emit-rtl.c (set_mem_attributes): Alignment is in bits.
+ (adjust_address_1, offset_address): Likewise.
+
+ * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
+ (output_asm_insn): Call it for each line output.
+ Don't record an operand more than once.
+
+ * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
+ * main.c: Include config.h and system.h, but not ansidecl.h.
+ * Makefile.in (main.o): Update accordingly.
+
+Sat Oct 20 12:05:31 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
+
+Sat Oct 20 12:01:07 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
+ * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
+ Break out from ...
+ (find_sub_basic_blocks): ... here;
+ (find_many_sub_basic_blocks): New.
+ * recog.c (split_all_insns): Update find_sub_basic_blocks call.
+
+ * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
+
+ * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
+
+ * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
+
+ * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
+ * flow.c (update_life_info): Measure time.
+ * c-decl.c: Include timevar.h
+ (c_expand_body): Measure time.
+ * toplev.c (rest_of_compilation): Measure time of mode switching
+ separately.
+ * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
+
+ * toplev.c (flag_asynchronous_unwind_tables): New global variable.
+ (lang_independent_options): Add asynchronous-unwind-tables
+ (toplev_main): flag_asynchronous_unwind_tables implies
+ flag_unwind_tables.
+ * flags.h (flag_asynchronous_unwind_tables): Declare.
+ * dwarf2out.c (dwarf2out_stack_adjust): Take into account
+ flag_asynchronous_unwind_tables.
+ (output_call_frame_info): Likewise.
+ * invoke.texi (-fasynchronous-unwind-tables): Document.
+ * i386.c (optimization_options): Enable
+ flag_asynchronous_unwind_tables.
+
+ * i386.c (ix86_expand_setcc): Always expect target to be QImode.
+ * i386.md (s* expanders): Destination is QImode.
+
+ * toplev.c (rest_of_compilation): Do not call clear_log_links.
+ * rtl.h (clear_log_links): Kill.
+ * flow.c (clear_log_links): Make static; accept blocks parameter;
+ do no clear life info.
+ (update_life_info): Call clear_log_links.
+
+ * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
+
+2001-10-20 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpplex.c (handle_newline, skip_escaped_newlines,
+ get_effective_char, skip_block_comment, skip_line_comment,
+ parse_identifier_slow, parse_number, parse_string,
+ _cpp_lex_direct): Update to do more stepping back.
+ (trigraph_ok): Similarly. Rename trigraph_p.
+ (SAVE_STATE, RESTORE_STATE): Remove.
+ (BUFF_SIZE_UPPER_BOUND): Tweak. Add sanity check.
+
+ * cpplib.c (destringize): Rename destringize_and_run, and
+ call run_directive directly.
+ (_cpp_do__Pragma): Simplify.
+
+2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * pe.c (arm_pe_unique_section): Const-ify.
+ * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
+ (switch_to_section): Add static prototype.
+
+ * output.h (drectve_section): Prototype.
+
+2001-10-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
+ fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
+ parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
+ i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
+ i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
+ i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
+ i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
+ i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
+ i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
+ i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
+ i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
+ i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
+ ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
+ mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
+ powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
+ powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
+ powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
+ powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
+ powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
+ powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
+ rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
+ sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
+ v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
+ cris-*-none, cris-*-linux*: Update ${tmfile} list.
+ (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
+ i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
+ mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
+ powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
+ v850-*-*): Delete superflous ${cpu_type} setting.
+ * config/linux.h: Delete svr4.h include.
+ (SET_ASM_OP): Delete.
+ * config/netware.h (INT_ASM_OP): Undef before define.
+ * config/ptx4.h: Delete elfos.h include.
+ (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
+ * config/svr4.h: Delete elfos.h include. Update commentary.
+ * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
+ config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
+ config/mn10200/mn10300.h, config/stormy16/stormy16.h,
+ config/v850/v850.h: Delete svr4.h include.
+ * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
+ config/m68k/m68kv4.h, config/m88k/sysv4.h,
+ config/sparc/sysv4.h: Update includes.
+ * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
+ config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
+ config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
+ config/m88k/dguxbcs.h: Delete includes.
+ * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
+ (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
+ * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
+ it.
+ * config/m88k/dgux.h: Delete include.
+ (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Undef before
+ defining it.
+ * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
+ ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
+ * config/sh/elf.h: Update include.
+ (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
+ DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
+
+2001-10-19 Catherine Moore <clm@redhat.com>
+
+ * config/stormy16/stormy-abi: Updates to varargs descriptions.
+ * config/stormy16/stormy16.c (stormy16_build_va_list): Reverse
+ base and count fields.
+ (stormy16_expand_builtin_va_start): last_reg_count changed to
+ size_of_reg_args. Use count + size in first comparison.
+
+Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
+ * toplev.h (struct lang_hooks): New field HONOR_READONLY.
+ * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
+ TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
+ Set alignment from type if INDIRECT_REF.
+ (adjust_address_1, offset_address): Simplify alignment compuitation.
+ * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
+ here; done by set_mem_attributes.
+
+2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
+ * arm-protos.h (rdata_section, zero_init_section, common_section):
+ Prototype.
+ * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
+ * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
+ traditional mode stringification.
+ * function.c (thread_prologue_and_epilogue_insns): Wrap variable
+ in macros controling its use.
+ * rtlanal.c: Include tm_p.h.
+ * varasm.c (asm_output_aligned_bss): Mark parameter with
+ ATTRIBUTE_UNUSED.
+ (assemble_constant_align, assemble_start_function, assemble_align,
+ assemble_variable, assemble_trampoline_template,
+ output_constant_def_contents): Wrap potentially empty if-stmt body
+ in brackets.
+
+2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * a29k-protos.h (literal_section): Prototype.
+ * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
+ * a29k.md: Ensure function pointers are prototyped.
+ * genattrtab.c (write_eligible_delay): Mark parameter with
+ ATTRIBUTE_UNUSED.
+
+2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
+ * 1750a.c (print_operand): Fix format specifier warning.
+ * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
+ * 1750a.md: Likewise.
+ * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
+ * genemit.c (output_add_clobbers): Mark parameter with
+ ATTRIBUTE_UNUSED.
+ * genrecog.c (write_subroutine): Likewise.
+ * integrate.c (expand_inline_function): Delete unused variable.
+ * varasm.c (remove_from_pending_weak_list): Wrap with
+ ASM_WEAKEN_LABEL.
+
+2001-10-19 Jakub Jelinek <jakub@redhat.com>
+
+ * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
+ field is different to previous argument's neg field.
+
+ * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
+
+Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * final.c (get_decl_from_op): New function.
+ (output_asm_insn): Call it; write "*" when item with decl is address.
+
+2001-10-19 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
+ about 64-bit support from the 3.0_branch version.
+
+2001-10-19 Zack Weinberg <zack@codesourcery.com>
+
+ * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
+ USE_INCLUDED_LIBINTL when appropriate.
+ * configure, config.in: Regenerate.
+ * Makefile.in (datadir): Set to @datadir@.
+ (intl.o): Also depend on $(CONFIG_H) and system.h.
+
+ * intl.c: Factor out common gettext initialization sequence.
+ (gcc_init_libintl): New function.
+ * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
+ otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
+ off NLS. Add multiple include guard. No need to #ifdef-guard
+ an #undef. Prototype gcc_init_libintl here.
+
+ * collect2.c (main), cppmain.c (general_init), gcc.c (main),
+ gcov.c (main), protoize.c (main), toplev.c (toplev_main):
+ Use gcc_init_libintl.
+
+2001-10-19 Catherine Moore <clm@redhat.com>
+
+ * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
+
+ * config/stormy16/stormy16.c (stormy16_split_move): Make
+ sure that REG_INC notes are present for auto_inc operands.
+
+2001-10-19 Andreas Jaeger <aj@suse.de>
+
+ * configure: Regenerated.
+ * configure.in: Add x86_64 to switch statements.
+
+2001-10-18 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (sibcall_osf_1): Load destination
+ address into $27 explicitly.
+ (sibcall_value_osf_1): Likewise.
+
+Thu Oct 18 16:07:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
+ (offset_address): New function.
+ (free_emit_status): Free regno_decl.
+ (init_emit): Pass proper number of elements to xcalloc.
+ Allocate regno_decl.
+ (mark_emit_status): Mark regno_decl values.
+ * expr.c (highest_pow2_factor): New function.
+ (expand_assigment): Use it and offset_address.
+ Properly handle ptr_mode vs. Pmode in offset calculation.
+ (store_constructor, expand_expr_unaligned): Likewise.
+ (expand_expr, case COMPONENT_EXPR): Likewise.
+ * expr.h (offset_address): New decl.
+ * function.h (struct emit_status): Add regno_decl.
+ (REGNO_DECL): New macro.
+ * final.c (output_asm_name): Move in file and don't conditionalize
+ on flag_print_asm_name.
+ (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
+ Output names of operands, if known.
+ * function.c (assign_parms): Set REGNO_DECL.
+ * integrate.c (integrate_decl_tree): Likewise.
+ * stmt.c (expand_decl): Likewise.
+ * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
+
+2001-10-18 Alexandre Oliva <aoliva@redhat.com>
+
+ * attribs.c (handle_noinline_attribute): New function.
+ (handle_used_attribute): Likewise.
+ (c_common_attribute_table): Added noinline and used.
+ * doc/extend.texi (Function Attributes): Document them.
+ * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
+ Warn when merging inline with attribute noinline.
+ (start_decl, start_function): Warn if inline and attribute
+ noinline appear in the same declaration.
+
+2001-10-17 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * config.gcc: Update c4x and i370 for C front end-specific
+ dependencies.
+ * config/c4x/c4x-c.c: New.
+ * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
+ (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
+ New declarations.
+ * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
+ (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
+ Make extern.
+ (c4x_init_pragma): Remove.
+ (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
+ c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
+ c4x_pr_ignored): Move to c4x-c.c.
+ * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
+ * config/c4x/t-c4x: Update.
+ * config/i370/i370-c.c: New.
+ * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
+ (i370_pr_map): Move to i370-c.c.
+ * config/i370/t-i370: New.
+
+ * doc/tm.texi: Update.
+
+2001-10-17 Stan Shebs <shebs@apple.com>
+
+ * config/rs6000/rs6000.c: Make assorted mechanical formatting and
+ typo fixes throughout.
+ (machopic_output_stub): Remove some dead code.
+
+2001-10-17 Richard Earnshaw <rearnsha@arm.com>
+
+ * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
+ leak.
+
+Wed Oct 17 05:26:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * Makefile.in (print-rtl.o): Depend on TREE_H.
+ * alias.c (get_alias_set): Make two passes over objects to first
+ see if inner object is access via restricted pointer.
+ Defer allocating alias set for restricted pointer until here.
+ Call find_placeholder with second arg nonzero.
+ Minor cleanups.
+ * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
+ set for restricted pointer types.
+ * emit-rtl.c (set_mem_attributes): Set more attributes.
+ (set_mem_align, change_address, adjust_address_1): New functions.
+ (change_address_1): Now static.
+ (adjust_address, adjust_address_nv): Deleted.
+ (replace_equiv_address): Call change_address_1.
+ * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
+ (find_placeholder): Get starting point from PLIST arg.
+ (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
+ * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
+ (adjust_address, adjust_address_nv): New macros.
+ * print-rtl.c (tree.h): New include.
+ (print_rtx, case MEM): Print all memory attributes.
+
+2001-10-17 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
+
+2001-10-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
+
+ * c-tree.texi: Eliminate duplicated word.
+ * cpp.texi: Likewise.
+ * install.texi: Likewise.
+ * invoke.texi: Likewise.
+ * tm.texi: Likewise.
+
+2001-10-17 Michael Collison <collison@isisinc.net>
+
+ * dsp16xx.c: Fix comment formatting to match GNU standards.
+ (dsp16xx_output_function_prologue): Change type of 'size'
+ parameter from 'int' to HOST_WIDE_INT.
+ (dsp16xx_output_function_epilogue): Change type of 'size'
+ parameter from 'int' to HOST_WIDE_INT.
+
+2001-10-16 Richard Henderson <rth@redhat.com>
+
+ * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
+ * configure, config.in: Rebuild.
+
+ * config/i386/i386.c (ix86_output_addr_vec_elt): New.
+ (ix86_output_addr_diff_elt): New.
+ * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
+ (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+ (JUMP_TABLES_IN_TEXT_SECTION): New.
+ * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
+ * config/i386/i386-protos.h: Update.
+
+ * config/i386/386bsd.h, config/i386/beos-elf.h,
+ config/i386/freebsd-aout.h, config/i386/freebsd.h,
+ config/i386/i386-interix.h, config/i386/i386elf.h,
+ config/i386/linux.h, config/i386/netbsd-elf.h,
+ config/i386/netbsd.h, config/i386/openbsd.h,
+ config/i386/ptx4-i.h, config/i386/rtemself.h,
+ config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
+ (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
+
+2001-10-16 Florian Weimer <fw@deneb.enyo.de>
+
+ * stmt.c (expand_asm_operands): Update commentary.
+
+2001-10-16 Stan Shebs <shebs@apple.com>
+
+ * config/darwin.h (GCC_NAME): Remove, no longer used.
+ (NO_MATH_LIBRARY): Ditto.
+ (MATH_LIBRARY): Define to emptiness.
+ (DWARF2_DEBUGGING_INFO): Define.
+ (PREFERRED_DEBUGGING_TYPE): Define.
+ (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
+ (EXCEPTION_SECTION): Define.
+ (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ * config/darwin.c (darwin_encode_section_info): Handle case of
+ DECL_INITIAL being error_mark_node.
+
+2001-10-16 Richard Henderson <rth@redhat.com>
+
+ * alpha.c (current_file_function_operand): Don't fail for profiling.
+ (direct_call_operand): New.
+ * alpha-protos.h: Declare it.
+ * alpha.h (EXTRA_CONSTRAINT): Use it.
+ (PREDICATE_CODES): Add it.
+ (ASM_OUTPUT_MI_THUNK): Remove.
+ * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
+ * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
+
+2001-10-16 Krister Walfridsson <cato@df.lth.se>
+
+ * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
+ (JUMP_TABLES_IN_TEXT_SECTION): Define.
+
+Wed Oct 17 00:21:31 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * cfg.c (free_edge): Break out from ....
+ (remove_edge): ... here.
+ (clear_edges): Use free_edge.
+
+ * att.h (ASM_QUAD): Add comment.
+ * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
+
+Wed Oct 17 00:01:02 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (split_ti): New function.
+ (ix86_split_to_parts): Support TImodes.
+ * i386.h (VALID_INT_MODE_P): Add TImode.
+ * i386.md (movdi splitter): Fix.
+ (movti): Support 64bit integer registers.
+ (movti_rex64): New function and splitter.
+
+ * i386.c (*_cost): Add movsx/movzx cost.
+ * i386.h (struct processor_costs): Add movsx/movzx fields.
+ (RTX_COSTS): Handle zero/sign extend + avoid believing that
+ 64bit operations require split on 64bit machine.
+ (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
+
+ * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
+ (ix86_expand_move): Avoid pushes of memory if size does not match;
+ move long constants to register.
+ (x86_initialize_trampoline): Fix mode.
+ * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
+ Use ASM_QUAD on 64bit.
+ * i386.md (test pattern): Disallow impossible constants.
+ (tablejump PIC expander): Fix emitting of sum.
+ (movdicc_rex64): Rename to movdicc.
+ * linux64.h (LINK_SPEC): Add missing '%'.
+
+2001-10-16 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-inline.c (inlinable_function_p): Leave it up to the
+ front-end to turn -finline-functions into DECL_INLINE set for all
functions.
- * expr.c (expand_builtin): Likewise.
- * expr.h (sin_optab,cos_optab): Declare optabs for sin and cos.
- * optabs.c (sin_optab,cos_optab): Define them.
- (init_optabs): Initialize them.
+2001-10-16 Stan Shebs <shebs@apple.com>
+
+ * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
- * tree.h (BUILT_IN_SIN,BUILT_IN_COS): New builtin codes.
+2001-10-16 Alan Modra <amodra@bigpond.net.au>
- * reg-stack.c (record_note_if_dead): Delete function.
- (record_reg_life_pat): Rewrite to handle any sort of pattern.
- (record_reg_life): Change interface to record_reg_life_pat.
+ * recog.c: Formatting and comment typo fixes.
- (stack_reg_life_analysis): Don't assume that MODE_FLOAT values are
- always returned in a float reg.
+ * configure.in (gcc_cv_as_bfd_srcdir): New. Use it to find gas
+ version in single tree build.
+ * configure: Regenerate.
- (subst_stack_regs_pat): Add support for sin and cos insns.
+2001-10-15 David Edelsohn <edelsohn@gnu.org>
- * i386.c (all gen_rtx (CONST_INT) references): Use GEN_INT to
- generate const_int rtx.
- (legitimize_pic_address): Pass NULL_RTX instead of "0" as pointer.
+ * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
+ MODE arguments to gen_rtx and compare operand with const0_rtx.
- * i386.md (all patterns): Use GEN_INT instead of gen_rtx to get
- const_ints.
- Avoid double-negative "! NON_*" constructs for clarity.
- Pass NULL_PTR as null parameter instead of 0.
+2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
- (sqrtM2): Patterns are only valid if IEEE FP or -ffast-math.
- (sinM2,cosM2): New patterns.
- (zero_extract test): New pattern.
- (movstrsi): Rewrite expander to handle operands correctly.
+ * system.h: Poison old unused target macros.
+ * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
+ * config/stormy16/stormy16.c: Update references to obsolete macros.
+ * config/stormy16/stormy16.h: Similarly.
+ * config/stormy16/stormy16.md: Similarly.
+ * config/cris/cris.h: Similarly.
-Thu Aug 27 16:58:09 1992 Michael Meissner (meissner@osf.org)
+2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
- * genattrtab.c (MAX_DIGITS): New macro to gauge how much space we
- need to reserve when printing integers.
- (expand_delays): Use sizeof and MAX_DIGITS to properly size the
- strings when calling attr_printf.
- (expand_units): Ditto.
- (encode_units_mask): Ditto.
- (make_numeric_value): Ditto.
- (oballoc): New macro, to allocate from the hash_obstack.
- (convert_const_symbol_ref): Call oballoc instead of xmalloc.
- (get_attr_value): Ditto.
- (fill_attr): Ditto.
- (make_length_attrs): Ditto.
- (gen_attr): Ditto.
- (gen_insn): Ditto.
- (gen_delay): Ditto.
- (gen_unit): Ditto.
- (find_attr): Ditto.
- (main): Ditto.
+ * cpplib.c (struct pragma_entry): Store the name as a hashnode.
+ (lookup_pragma_entry, insert_pragma_entry, do_pragma,
+ cpp_register_pragma): Update accordingly.
-Thu Aug 27 14:47:16 1992 Mike Stump (mrs@mole.gnu.ai.mit.edu)
+2001-10-14 Neil Booth <neil@daikokuya.demon.co.uk>
- * cp-decl.c (curent_block, struct binding_level, poplevel): Copy
- Tue Aug 25 16:29:47 and Wed Aug 26 01:56:30 changes in c-decl.c by
- rms.
+ * c-pragma.h (cpp_register_pragma_space): Remove.
+ * cpplib.h (cpp_register_pragma_space): Remove.
+ * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
+ (cpp_register_pragma_space): Remove.
+ (cpp_register_pragma): Simplify using lookup_pragma_entry,
+ add sanity checks.
+ (do_pragma): Similarly.
+ (_cpp_init_internal_pragmas): Don't register namespaces.
-Thu Aug 27 01:32:11 1992 Paul Eggert (eggert@twinsun.com)
+ * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
+ Don't register namespaces.
+ * cp/lex.c (init_cp_pragma): Similarly.
+ * doc/tm.texi: Update.
- * c-lex.c, cp-lex.c (readescape): DEL isn't printable.
- * c-typeck.c (check_format): Likewise.
+2001-10-10 Craig Rodrigues <rodrigc@gcc.gnu.org>
-Wed Aug 26 20:42:36 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ PR c/4157
+ * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
- * c-lex.c (readescape): For \x, don't include leading 0's in count.
+2001-10-13 Michael Collison <collison@dhcp-12-114.townisp.com>
- * c-decl.c (init_decl_processing): Fix type of __builtin_constant_p.
+ * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
+ add scheduling support.
+ * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
+ * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
+ * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
- * expr.c (emit_block_move): When trying movstrMM, cvt size to mode MM.
- * c-parse.y (stmt): For computed goto, convert arg to void *.
+2001-10-13 Hans-Peter Nilsson <hp@axis.com>
- * fold-const.c (fold): Do A op C1 ? A : C2 opt only for INTEGER_TYPEs.
+ * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
+ missing CONSTANT_P test in core GCC.
-Wed Aug 26 20:19:56 1992 Mike Stump (mrs@wombat.gnu.ai.mit.edu)
+2001-10-12 Neil Booth <neil@daikokuya.demon.co.uk>
- * cp-decl.c (insert_block, delete_block): New functions.
- * cp-parse.y (primary, using compstmt): Call delete_block instead
- of clearing TREE_USED.
+ * cppmain.c (struct printer): New member source.
+ (scan_translation_unit): Fix spacing at start of lines.
+ (cb_line_change): Update.
- 11th Cygnus<-->FSF merge.
+ * gcc.dg/cpp/spacing2.c: New test.
- Wed Aug 26 12:02:41 1992 Mike Stump (mrs@rtl.cygnus.com)
+2001-10-12 Hans-Peter Nilsson <hp@axis.com>
- * cp-decl.c (finish_function): Don't core dump when a conversion is
- ambiguous.
+ * config/cris/arit.c: Use __builtin_labs, not abs.
- Tue Aug 25 16:32:42 1992 Mike Stump (mrs@rtl.cygnus.com)
+ * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
- * cp-init.c (build_new), cp-typeck.c (build_c_cast): Handle ``new
- type ( ... )'' better. Default constructors and better error
- checking.
+ * config/cris/cris.c (cris_target_asm_function_epilogue): Move
+ misplaced sprintf and fprintf argument.
- Tue Aug 25 01:21:48 1992 Mike Stump (mrs@cygnus.com)
+2001-10-12 Zack Weinberg <zack@codesourcery.com>
- * cp-decl2.c (finish_file): Mark " @%$#@!" as being internal.
+ * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
+ * configure.in, Makefile.in: Take out obsolete check-po logic.
+ * configure, config.in: Regenerate.
- Mon Aug 24 16:40:15 1992 Brendan Kehoe (brendan@cygnus.com)
+2001-10-12 Ziemowit Laski <zlaski@apple.com>
- * cp-lex.c (check_newline): For `#pragma implementation', use
- strcmp to check if it was done at the top level, rather than relying
- on the pointers being the same.
+ * objc/objc-act.c (finish_objc): Correct precondition for emitting
+ symtab declarations.
- Mon Aug 24 20:48:16 1992 Mike Stump (mrs@cygnus.com)
+2001-10-12 Stan Shebs <shebs@apple.com>
- Fri Aug 21 14:19:27 1992 Ron Guilmette (rfg at ncd.com)
+ * config/rs6000/rs6000.c: Remove uses of "register" specifier in
+ declarations of arguments and local variables.
- * cp-decl2.c (grokclassfn): Mark the artificial `this' parameter as
- "artificial".
+2001-10-12 Christopher Faylor <cgf@redhat.com>
- Thu Aug 20 22:59:16 1992 Mike Stump (mrs@cygnus.com)
+ * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
+ ENDFILE_SPEC definition.
- * cp-spew.c (arbitrate_lookup): Make sure the type name in an
- argument list followed by &, or &) is seen as a type name, even when
- there is an enumeration constant with the exact same name.
+2001-10-12 Kazu Hirata <kazu@hxi.com>
- Thu Aug 20 21:58:30 1992 Mike Stump (mrs@cygnus.com)
+ * gthr-dce.h: Fix comment formatting.
+ * gthr-posix.h: Likewise.
+ * gthr-single.h: Likewise.
+ * gthr-solaris.h: Likewise.
+ * gthr-vxworks.h: Likewise.
+ * gthr-win32.h: Likewise.
- * cp-search.c (get_first_matching_virtual): Don't core dump when a
- declaration of a static member is seen with the same name as a base
- class virtual function.
+2001-10-12 Jakub Jelinek <jakub@redhat.com>
- Thu Aug 20 21:20:31 1992 Mike Stump (mrs@cygnus.com)
+ * final.c (output_asm_insn): Make sure assembly dialects are
+ terminated, not nested. Output `|' and `}' characters if they
+ don't appear inside assembly dialect selection.
+ * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
+ rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
+ rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
+ strsetsi_rex_1): Add {} braces.
- * cp-decl.c (finish_function): Don't core dump on parse errors.
+2001-10-11 Zack Weinberg <zack@codesourcery.com>
- Thu Aug 20 20:52:43 1992 Mike Stump (mrs@cygnus.com)
+ * toplev.c (compile_file): Ignore return value from yyparse.
+ Always pop any nested binding levels after yyparse returns.
- * cp-method.c (build_component_type_expr): Don't core dump on parse
- errors.
+2001-10-11 Richard Henderson <rth@redhat.com>
- Thu Aug 20 18:31:58 1992 Mike Stump (mrs@cygnus.com)
+ * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
- Mon Aug 17 17:08:11 1992 Chip Salzenberg (chip@tct.com)
+2001-10-11 Richard Henderson <rth@redhat.com>
- Copy some changes from the C front-end:
+ * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
+ fall back to add_AT_long_long for large CONST_INT.
- * cp-type2.c (process_init_constructor): Warn about partly bracketed
- initializers.
- * cp-typeck.c (build_component_ref): Don't warn for compound and
- conditional expressions when pedantic. These are valid in ANSI C.
+2001-10-11 Richard Henderson <rth@redhat.com>
- Thu Aug 20 16:11:58 1992 Mike Stump (mrs@cygnus.com)
+ * config/i386/i386.md (setcc splitters): Add four splitters to
+ simplify compound compares that simplify_comparison can't handle.
- * cp-decl.c (start_decl), cp-parse.y (have_extern_spec): extern "C"
- int i; is only a declaration, but a definition, make it so.
+2001-10-11 Zack Weinberg <zack@codesourcery.com>
- Thu Aug 20 14:46:39 1992 Mike Stump (mrs@cygnus.com)
+ * cpplex.c (digraph_spellings, token_spellings): Make static.
- Thu Aug 20 02:36:39 1992 Ron Guilmette (rfg at ncd.com)
+2001-10-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
- * cp-lex.c (cons_up_default_function): Use DECL_SOURCE_LINE = 0 for
- compiler generated things, not DECL_IGNORED_P.
+ * unroll.c (loop_iterations): Fixup last patch.
- Thu Aug 20 13:13:45 1992 Mike Stump (mrs@cygnus.com)
+2001-10-11 Richard Henderson <rth@redhat.com>
- Wed Aug 19 13:09:45 1992 Ron Guilmette (rfg at ncd.com)
+ * rtl.h (REG_VTABLE_REF): New.
+ * rtl.c (reg_note_name): Add it.
+ * combine.c (distribute_notes): Handle it.
+ * final.c (final_scan_insn): Handle it.
+ * tree.def (VTABLE_REF): New.
+ * expr.c (expand_expr): Handle it.
+ * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
+ * output.h: Declare them.
- * cp-decl.c (grokdeclarator): Propagate some changes from the C
- front-end to deal with variable sized arrays.
+2001-10-11 Richard Henderson <rth@redhat.com>
- Wed Aug 19 16:55:43 1992 Mike Stump (mrs@cygnus.com)
+ * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
+ for a DECL_INITIAL.
- * cp-cvt.c (convert_to_reference): Improve wording on error message.
- * cp-method.c (type_as_string), cp-pt.c
- (mangle_class_name_for_template), cp-xref.c (GNU_xref_decl): Delete
- first argument to type_as_string as it is not needed anymore.
+2001-10-11 David Edelsohn <edelsohn@gnu.org>
- Wed Aug 19 15:29:02 1992 Mike Stump (mrs@cygnus.com)
+ * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
+ available in 64-bit mode.
- Wed Aug 19 13:09:45 1992 Ron Guilmette (rfg at ncd.com)
+2001-10-11 Hans-Peter Nilsson <hp@axis.com>
- * cp-decl.c (kept_level_p): Update from C frontend.
+ * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
+ cris-*-linux* cases.
+ * config/cris/cris-protos.h: New file.
+ * config/cris/cris.c: New file.
+ * config/cris/cris.h: New file.
+ * config/cris/cris.md: New file.
+ * config/cris/linux.h: New file.
+ * config/cris/aout.h: New file.
+ * config/cris/arit.c: New file.
+ * config/cris/cris_abi_symbol.c: New file.
+ * config/cris/mulsi3.asm: New file.
+ * config/cris/t-aout: New file.
+ * config/cris/t-cris: New file.
+ * config/cris/t-elfmulti: New file.
+ * config/cris/t-linux: New file.
+ * doc/invoke.texi: Add CRIS options.
+ * doc/install.texi (Specific): Add blurb for CRIS.
- Wed Aug 19 14:47:08 1992 Mike Stump (mrs@cygnus.com)
+2001-10-10 Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
- * cp-decl2.c (groktypefield): Old style conversion operators
- are being desupported. Conversion operators much have an
- `operator' in front of them.
+ * config/float-i128.h: Make sure __STDC__VERSION__ is defined
+ before using it.
+ * config/float/i32.h: Likewise.
+ * config/float-i386.h: Likewise.
+ * config/float-i64.h: Likewise.
+ * config/float-m68k.h: Likewise.
+ * config/float-sh.h: Likewise.
+ * config/float-sparc.h: Likewise.
- Wed Aug 19 01:57:04 1992 Mike Stump (mrs@cygnus.com)
+2001-10-11 Hans-Peter Nilsson <hp@axis.com>
- * cp-call.c (ideal_candidate): Fix bug introduced on Jan 21
- 7:24:21. Warn about ambiguous function calls with multiple
- same cost conversions.
+ * doc/contrib.texi: Add note about CRIS port to my entry.
- Wed Aug 19 00:08:18 1992 Mike Stump (mrs@cygnus.com)
+2001-10-11 Kazu Hirata <kazu@hxi.com>
- * cp-decl.c (grok_enum_decls): Remove invalid error message.
+ * basic-block.h: Fix formatting.
+ * bitmap.h: Likewise.
+ * cpplib.h: Likewise.
+ * c-tree.h: Likewise.
+ * diagnostic.h: Likewise.
+ * flags.h: Likewise.
+ * ggc.h: Likewise.
+ * longlong.h: Likewise.
+ * real.h: Likewise.
+ * reload.h: Likewise.
+ * rtl.h: Likewise.
+ * tree.h: Likewise.
- Mon Aug 17 18:59:18 1992 Mike Stump (mrs@cygnus.com)
+2001-10-10 Richard Henderson <rth@redhat.com>
+
+ * c-parse.in (asm_operand): Allow named operands.
+ * genconfig.c (max_recog_operands): Set to 29.
+ * local-alloc.c (requires_inout): Skip multiple digits.
+ * recog.c (asm_operand_ok): Likewise.
+ (preprocess_constraints): Use strtoul for matching constraints.
+ (constrain_operands): Likewise.
+ * regmove.c (find_matches): Likewise.
+ * reload.c (find_reloads): Likewise.
+ * stmt.c (parse_output_constraint): Don't reject in-out
+ constraint on operands > 9. Reject '[' in constraint.
+ (expand_asm_operands): Handle named operands. Use strtoul
+ for matching constraints.
+ (check_operand_nalternatives): Split out from expand_asm_operands.
+ (check_unique_operand_names): New.
+ (resolve_operand_names, resolve_operand_name_1): New.
+
+ * doc/extend.texi (Extended Asm): Document named operands.
+ * doc/md.texi (Simple Constraints): Document matching constraints
+ on operands > 9.
+
+2001-10-10 Richard Henderson <rth@redhat.com>
+
+ * combine.c (try_combine): Handle a SEQUENCE of one insn.
+
+ * i386.c (test splitter): Narrow tests vs paradoxical subregs.
+ (jcc splitters): Add two splitters to simplify compound compares
+ that simplify_comparison can't handle.
+
+2001-10-10 Richard Henderson <rth@redhat.com>
+
+ * langhooks.c: Include langhooks.h.
+ * Makefile.in (langhooks.o): Depend on it.
+
+Wed Oct 10 23:49:06 EDT 2001 John Wehle (john@feith.com)
+
+ * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
+ should not be considered as a no-op.
+ * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
+
+2001-10-10 Stan Shebs <shebs@apple.com>
+
+ * alias.c: Remove uses of "register" specifier in declarations
+ of arguments and local variables.
+ * c-common.c: Ditto.
+ * c-convert.c: Ditto.
+ * c-decl.c: Ditto.
+ * c-format.c: Ditto.
+ * c-semantics.c: Ditto.
+ * c-typeck.c: Ditto.
+ * caller-save.c: Ditto.
+ * calls.c: Ditto.
+ * cfg.c: Ditto.
+ * cfgbuild.c: Ditto.
+ * cfgrtl.c: Ditto.
+ * collect2.c: Ditto.
+ * combine.c: Ditto.
+ * convert.c: Ditto.
+ * cppexp.c: Ditto.
+ * cppfiles.c: Ditto.
+ * cse.c: Ditto.
+ * dbxout.c: Ditto.
+ * defaults.h: Ditto.
+ * df.c: Ditto.
+ * dwarf2out.c: Ditto.
+ * dwarfout.c: Ditto.
+ * emit-rtl.c: Ditto.
+ * explow.c: Ditto.
+ * expmed.c: Ditto.
+ * expr.c: Ditto.
+ * final.c: Ditto.
+ * fix-header.c: Ditto.
+ * floatlib.c: Ditto.
+ * flow.c: Ditto.
+ * fold-const.c: Ditto.
+ * function.c: Ditto.
+ * gcc.c: Ditto.
+ * gcse.c: Ditto.
+ * gen-protos.c: Ditto.
+ * genattrtab.c: Ditto.
+ * gencheck.c: Ditto.
+ * genconfig.c: Ditto.
+ * genemit.c: Ditto.
+ * genextract.c: Ditto.
+ * genflags.c: Ditto.
+ * gengenrtl.c: Ditto.
+ * genoutput.c: Ditto.
+ * genpeep.c: Ditto.
+ * genrecog.c: Ditto.
+ * gensupport.c: Ditto.
+ * global.c: Ditto.
+ * gmon.c: Ditto.
+ * graph.c: Ditto.
+ * haifa-sched.c: Ditto.
+ * hard-reg-set.h: Ditto.
+ * hash.c: Ditto.
+ * integrate.c: Ditto.
+ * jump.c: Ditto.
+ * lists.c: Ditto.
+ * local-alloc.c: Ditto.
+ * loop.c: Ditto.
+ * mips-tdump.c: Ditto.
+ * mips-tfile.c: Ditto.
+ * optabs.c: Ditto.
+ * prefix.c: Ditto.
+ * print-rtl.c: Ditto.
+ * read-rtl.c: Ditto.
+ * real.c: Ditto.
+ * recog.c: Ditto.
+ * reg-stack.c: Ditto.
+ * regclass.c: Ditto.
+ * regmove.c: Ditto.
+ * reload.c: Ditto.
+ * reload1.c: Ditto.
+ * reorg.c: Ditto.
+ * resource.c: Ditto.
+ * rtl.c: Ditto.
+ * rtlanal.c: Ditto.
+ * scan.c: Ditto.
+ * sched-deps.c: Ditto.
+ * sched-rgn.c: Ditto.
+ * sdbout.c: Ditto.
+ * simplify-rtx.c: Ditto.
+ * stmt.c: Ditto.
+ * stor-layout.c: Ditto.
+ * toplev.c: Ditto.
+ * tradcif.y: Ditto.
+ * tradcpp.c: Ditto.
+ * tree.c: Ditto.
+ * unroll.c: Ditto.
+ * varasm.c: Ditto.
+ * xcoffout.c: Ditto.
+
+2001-10-10 Richard Henderson <rth@redhat.com>
+
+ * rtl.h (can_reverse_comparison_p): Remove.
+
+2001-10-10 Christopher Faylor <cgf@redhat.com>
+
+ * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
+ used.
+
+2001-10-10 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
+
+ * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
+ (Thanks to Chris Faylor for suggesting macro name).
+ (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
+ WIN32 defines.
+ (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
+ (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
+ (MATH_LIBRARY): Undef before definition.
+ (OUTPUT_QUOTED_STRING): Likewise.
+ * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
+
+2001-10-10 Richard Henderson <rth@redhat.com>
+
+ * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
+ (fde_unencoded_compare): Likewise. Don't use subtraction to get
+ a tristate comparison value.
+ (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
+
+2001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ PR c++/4512
+ * unroll.c (loop_iterations): Ignore insns generated by loop
+ unrolling.
+
+ * config.gcc (mips*-*-gnu*): Delete support.
+ * config/mips/gnu.h: Remove.
+
+2001-10-10 Kazu Hirata <kazu@hxi.com>
+
+ * calls.c: Fix formatting.
+ * c-decl.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * combine.c: Likewise.
+ * cppfiles.c: Likewise.
+ * cpplib.c: Likewise.
+ * cppmacro.c: Likewise.
+ * crtstuff.c: Likewise.
+ * cse.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * expmed.c: Likewise.
+ * expr.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * gcse.c: Likewise.
+ * genattrtab.c: Likewise.
+ * ggc-page.c: Likewise.
+ * integrate.c: Likewise.
+ * libgcc2.c: Likewise.
+ * loop.c: Likewise.
+ * optabs.c: Likewise.
+ * profile.c: Likewise.
+ * protoize.c: Likewise.
+ * real.c: Likewise.
+ * recog.c: Likewise.
+ * reload1.c: Likewise.
+ * reload.c: Likewise.
+ * reorg.c: Likewise.
+ * resource.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * sdbout.c: Likewise.
+ * stmt.c: Likewise.
+ * toplev.c: Likewise.
+ * varasm.c: Likewise.
+
+2001-10-10 Janis Johnson <janis187@us.ibm.com>, Alexandre Oliva <aoliva@redhat.com>
+
+ * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
+ * Makefile.in (langhooks.o): Add dependencies.
+
+Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com)
+
+ * rs6000.c (rs6000_emit_load_toc_table): Don't
+ strdup the toc label.
+ (create_TOC_reference): Likewise.
+
+2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
+
+ * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
+ version default.
+
+2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
+
+ * config/i386/i386.c (ix86_attribute_table): Correct
+ min_len, max_len fields for dllimport, dllexport and shared.
+
+2001-10-10 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
+ doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
+ Consistently use "nonzero" instead of "non-zero".
+
+2001-10-09 Kazu Hirata <kazu@hxi.com>
+
+ * acconfig.h: Fix comment formatting.
+ * c-dump.h: Likewise.
+ * c-tree.h: Likewise.
+ * conditions.h: Likewise.
+ * expr.h: Likewise.
+ * function.h: Likewise.
+ * gthr.h: Likewise.
+ * hwint.h: Likewise.
+ * integrate.h: Likewise.
+ * intl.h: Likewise.
+ * loop.h: Likewise.
+ * optabs.h: Likewise.
+
+2001-10-09 Kazu Hirata <kazu@hxi.com>
+
+ * c-common.h: Fix comment formatting.
+ * c-dump.c: Likewise.
+ * cfg.c: Likewise.
+ * diagnostic.h: Likewise.
+ * except.c: Likewise.
+ * gcc.h: Likewise.
+ * gcov-io.h: Likewise.
+ * genattrtab.c: Likewise.
+ * output.h: Likewise.
+ * predict.h: Likewise.
+ * reload1.c: Likewise.
+ * reload.h: Likewise.
+ * resource.h: Likewise.
+ * scan.h: Likewise.
+ * system.h: Likewise.
+ * tree.h: Likewise.
+ * tree-inline.c: Likewise.
+ * tsystem.h: Likewise.
+ * varasm.c: Likewise.
+ * xcoffout.h: Likewise.
+
+2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
+
+2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
+ config/i386/i386elf.h, config/i386/netbsd-elf.h,
+ config/i386/netware.h, config/mcore/gfloat.h,
+ config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
+ config/netware.h, gccbug.in: Update FSF address.
+
+2001-10-09 Kazu Hirata <kazu@hxi.com>
+
+ * c-common.c: Fix comment typos.
+ * cfgrtl.c: Likewise.
+ * collect2.c: Likewise.
+ * cpplex.c: Likewise.
+ * doloop.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * dwarfout.c: Likewise.
+ * expr.c: Likewise.
+ * fold-const.c: Likewise.
+ * gcc.c: Likewise.
+ * gcov.c: Likewise.
+ * gcse.c: Likewise.
+ * global.c: Likewise.
+ * ifcvt.c: Likewise.
+ * loop.c: Likewise.
+ * optabs.c: Likewise.
+ * protoize.c: Likewise.
+ * regclass.c: Likewise.
+ * reorg.c: Likewise.
+ * rtl.h: Likewise.
+ * stmt.c: Likewise.
+ * tree.h: Likewise.
+ * doc/cpp.texi: Likewise.
+ * doc/c-tree.texi: Likewise.
+ * doc/extend.texi: Likewise.
+ * doc/invoke.texi: Likewise.
+ * doc/objc.texi: Likewise.
+ * doc/tm.texi: Likewise.
- * cp-cvt.c (convert_to_reference, convert,
- build_type_conversion_1, build_type_conversion), cp-init.c
- (build_dynamic_new), cp-typeck.c (build_modify_expr_1,
- convert_for_initialization): Always use constructor_name, and
- never TYPE_IDENTIFIER (type) and similar things.
- * cp-init.c (expand_aggr_init_1): Try TYPE_HAS_CONSTRUCTOR
- before wasting time trying build_method_call.
- * cp-xref.c: Don't include memory.h.
+2001-10-08 Richard Henderson <rth@redhat.com>
- Mon Aug 17 15:10:21 1992 Mike Stump (mrs@cygnus.com)
+ * varasm.c (set_named_section_flags): Initialize "declared".
- * cp-init.c (expand_aggr_init_1): Check for ambiguous
- conversion. One through constructor and the other through a
- user defined conversion operator.
+2001-10-08 Robert Lipe <robertlipe@usa.net>
- Mon Aug 17 11:51:27 1992 Mike Stump (mrs@cygnus.com)
+ * varasm.c (struct in_named_entry): Add declared.
+ (named_section_first_declaration): New function.
+ (default_elf_asm_named_section): Use it.
+ * output.h (named_section_first_declaration): New.
- * cp-call.c (convert_harshness): When an argument is T, a T&
- should be choosen over a const T& when selecting overloaded
- functions.
+2001-10-08 Richard Henderson <rth@redhat.com>
- Mon Aug 17 01:37:06 1992 Mike Stump (mrs@cygnus.com)
-
- * cp-call.c (build_method_call): The second argument to
- operator delete is sometimes magically deleted.
- * cp-decl.c (init_decl_processing, grokfndecl): Global
- operator delete never has two arguments.
-
- Wed Aug 5 18:54:19 1992 Mike Stump (mrs@cygnus.com)
-
- * cp-class.c (finish_struct), cp-tree.c (layout_basetypes):
- Make sure VFIELD_BASEs are aligned. This fixes a really
- annoying problem that causes code that uses complex
- inheritance hierarchies that have virtual bases to get a
- segmentation fault.
-
- Wed Aug 5 12:35:07 1992 Mike Stump (mrs@cygnus.com)
-
- Wed Aug 5 08:10:34 1992 Tom Wood (wood@dg-rtp.dg.com)
-
- * cp-tree.c (__eprintf): `line' is unsigned.
- * cp-lex.c: Include stdlib.h and locale.h if needed.
- * cp-typeck.c (mark_addressable): Use DECL_EXTERNAL not
- TREE_EXTERNAL.
-
- Wed Aug 5 03:20:07 1992 Mike Stump (mrs@cygnus.com)
-
- * cp-class.c (finish_struct_methods): Check to make sure
- operator delete is not overloaded.
- * cp-decl.c (grokfndecl): Check to make sure operator delete
- is declared properly.
-
- Tue Aug 4 16:52:28 1992 Mike Stump (mrs@cygnus.com)
-
- Mon Aug 3 22:55:04 1992 Michael Meissner (meissner@osf.org)
-
- * cp-decl.c (grokdeclarator): Make sure const and volatile get
- put on the type built when building reference types.
- * cp-parse.y (attrib): tree_cons takes three arguments, not
- two.
- * cp-tree.h: Add hash_chainon, build_virtual_init,
- build_vbase_delete, build_vbase_vtables_init.
- * cp-typeck.c (build_modify_expr_1. build_modify_expr):
- build_unary_op takes three arguments, not two.
-
- Tue Aug 4 16:07:57 1992 Mike Stump (mrs@cygnus.com)
-
- Sat Aug 1 16:52:20 1992 John Carr (jfc@Athena.MIT.EDU)
-
- * cp-decl.c (): Make sure the base type of an ARRAY_TYPE is
- layedout before using it.
-
-Wed Aug 26 17:04:45 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * tree.h (current_block): Declared.
-
-Wed Aug 26 15:42:11 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
-
- Major rework to have caller-saves emit load/store double insns when
- possible and to avoid useless resaving of registers restored for
- source accesses only.
- * caller-save.c (toplevel): All arrays are multi-dimensional to
- hold information for multiple save/restore insns. New variable
- hard_regs_need_restore.
- (choose_hard_reg_mode): New argument `nregs' indicating how many
- hard registers are desired. All callers changed.
- (init_caller_save): Change initialization to handle multiple
- register saves. A call-used register can not be live across
- if we can not find a single register mode to save it in.
- (multiple register saves are optional)
- (init_save_areas): Change initialization of regno_save_mem to
- handle multiple register saves.
- (setup_save_areas): Allocate space for consecutive hard registers
- in aligned consecutive memory locations. When allocating space
- for consecutive hard registers, also initialize regno_save_mem
- for each hard register stored as a single word.
- (save_call_clobbered_regs): Initialize hard_regs_need_restore.
- Set hard_regs_need_restore to hard_regs_saved after crossing
- a call. Also recompute n_regs_saved. At the end of a basic block
- we need only restore registers in hard_regs_need_restore.
- (set_reg_live, clear_reg_live): Do the right thing for
- hard_regs_need_restore and hard_regs_saved.
- (restore_referenced_regs): Just return if X is a clobber.
- Test hard_regs_need_restore to determine when to restore a hard
- register from the save area.
- (insert_save_restore): Now returns the number of extra registers
- saved/restored. New argument `maxrestore' which constrains how
- many hard registers should be restored. All callers changed.
- Do stores of consecutive registers with double store insns if
- possible. Else do them with single word insns. Likewise for
- loads, except constrained by maxrestore. Set hard_regs_saved
- and hard_regs_need_restore appropriately to minimize useless
- saves into the save area. Test against hard_regs_need_restore
- when trying to restore multiple regs and similarly test against
- hard_regs_saved when storing multiple regs.
-
-
-Wed Aug 26 14:24:28 1992 Michael Meissner (meissner@osf.org)
-
- * mips.h (LINK_SPEC): Pass -shared, -non_shared on to linker.
- * mips-bsd.h (LINK_SPEC): Ditto.
- * mips-n5.h (LINK_SPEC): Ditto.
- * mips-svr4.h (LINK_SPEC): Ditto.
- * mips-sysv.h (LINK_SPEC): Ditto.
- * iris.h (LINK_SPEC): Ditto.
- * dec-osf1.h (LINK_SPEC): Ditto.
-
- * dec-osf1.h (DECSTATION): Don't define, since decstatn.h which is
- included defines it.
- (OBJECT_FILE_COFF): Undefine, since the DEC OSF/1 ldfcn doesn't
- look like the coff version.
-
- * decstatn.h (LINK_SPEC): Don't define if already defined.
-
-Wed Aug 26 13:56:08 1992 Tom Wood (wood@dg-rtp.dg.com)
-
- * reorg.c: Enhance to fill the last delay slot of a call with an
- unconditional jump.
- (fill_simple_delay_slots): Look for the case of a call/branch
- first. If this applies, record the jump as `last_delay_insn'.
- Later, don't look for additional delay insns if the last one has
- alreay been filled.
- (mark_target_live_regs): A sequence may end in an unconditional
- branch.
-
- * m88k.md (define_function_unit): Correct and simplify memory unit
- specification.
-
-Wed Aug 26 01:56:30 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * c-decl.c (poplevel): Store into BLOCK iff it is non-null.
-
-Tue Aug 25 23:24:45 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
-
- * sched.c: Add #ifdef INSN_SCHEDULING around variables only used
- by schedule_insns.
- (INSN_QUEUE_SIZE): Delete default definition.
-
- * optabs.c, expr.c: Partially undo Mar 7 change. Only call
- emit_library_call with no_queue == 1 for const functions.
-
- * sparc.c (SF_MODES): Allow SImode in fp registers.
- (output_floatsisf2, output_floatsidf2, output_floatsitf2): Delete.
- * sparc.h: Delete declarations of the above 3 functions.
- * sparc.md (float*, fix*): Rewrite to match hardware; take/put
- integer input/output from/to fp register instead of memory or
- general register. Delete 6 now obsolete combiner patterns.
-
-Tue Aug 25 16:40:15 1992 Brendan Kehoe (brendan@cygnus.com)
-
- * cccp.c (do_pragma): Warn if `#pragma implementation "foo.h"' is
- invoked after "foo.h" has been included.
-
-Tue Aug 25 16:29:47 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * stmt.c (struct goto_fixup): New field context.
- (fixup_cleanups): Function deleted.
- (fixup_gotos): Put the fixup in a block, and put that block
- into its proper place. Use sequences, not reorder_insns.
-
- * c-decl.c (current_block): New function.
- (struct binding_level): New field this_block.
- (poplevel): Use this_block if nonzero, rather than making new BLOCK.
-
- * sched.c (INSN_QUEUE_SIZE): Add default definition.
-
-Tue Aug 25 15:19:26 1992 Tom Wood (wood@dg-rtp.dg.com)
-
- * sched.c (schedule_block): Add a virtual cycle counter CLOCK.
- Pass CLOCK to schedule_insn.
- Compute the tail in the scheduling loop, not before it.
- Enable the stall code that advances the insn queue.
- Select the insn to schedule and block others with schedule_select.
- (adjust_priority): Renamed from launch_link.
- (schedule_insn): Renamed from launch_links.
-
- * genattrtab.c (struct attr_desc): Add unsigned_p field.
- (struct function_unit_op): Add issue_delay, conflict_exp, and
- issue_exp fields. Drop busyexp field.
- (struct function_unit): Add needs_blockage_function,
- needs_range_function, issue_delay, and max_blockage fields. Drop
- costexp, and busy delay fields.
- (enum operator): Add POS_MINUS_OP, EQ_OP, MIN_OP, RANGE_OP.
- (operate_exp): Implement new ops.
- (make_internal_attr): Set unsigned_p based on the value of SPECIAL.
- (write_attr_get): Function is unsigned when unsigned_p is true.
- (write_attr_valueq): Write hex value of large constants in a comment.
- (simplify_by_exploding): Check for EXP having no EQ_ATTR expressions
- and for all values as the default.
- (find_and_mark_used_attributes): Add TERMS and NTERMS parameters.
- (max_attr_value): Allow IF_THEN_ELSE.
- (simplify_knowing, write_complex_function, extend_range): New
- functions.
- (gen_unit): Use local variables to name the fields. Change the
- meaning of busy-delay to issue-delay.
- (expand_units): Compute issue_exp. Write attributes for computing
- `<name>_unit_blockage' and `<name>_unit_blockage_range' functions.
- Compute max_blockage, and the needs_*_function values.
- (write_function_unit_info): Write blockage function and conflict cost
- functions using write_complex_function. Write new function_unit_desc
- fields.
- * genattr.c (extend_range, init_range): New functions.
- (write_units): Add blockage_function, blockage_range_function,
- max_blockage and max_issue_delay fields to struct function_unit_desc.
- Drop max_busy_cost field. Write #defines for min/max blockage,
- issue delay, multiplicity, and simultaneity and for BLOCKAGE_BITS
- and INSN_QUEUE_SIZE.
- (main): Compute the new values.
- * sched.c (insn_queue): Use INSN_QUEUE_SIZE.
- * rtl.def (define_function_unit): Update documentation.
-
- * sched.c (insn_units, insn_blockage, insn_tick, unit_last_insn,
- unit_tick, unit_n_insns): New variables.
- (schedule_insns): Allocate and initialize insn_tick, insn_units, and
- insn_blockage.
- (insn_unit, blockage_range, clear_units, prepare_unit, schedule_unit,
- actual_hazard_this_instance, actual_hazard, potential_hazard,
- schedule_select): New functions.
- (schedule_block): Add dependencies to force insns to remain in order
- at the end of a block rather than relying on having the scheduler
- issue them in priority order.
-
- * sched.c (insn_cost): Add LINK and USED parameters. All callers
- changed. Supply an ADJUST_COST interface.
- (insn_cost): Make a dependence from a USE insn free.
- (priority): Clear the link cost adjustment bits.
- * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): New macros.
-
- * genattrtab.c (expand_units): Use the normalized values of the
- unit's CONDEXP and BUSYEXP.
-
- * a29k.md (define_function_unit): Change meaning to ISSUE-DELAY.
- * i960.md (define_function_unit): Change meaning to ISSUE-DELAY.
- * m88k.md (type attribute, movdi movdf insns): Add loadd.
- (unit attribute): Delete.
- (function units): Correct simultaneity values. Break out
- independent units. Add conflict matrix for the 88100 load double.
- * mips.md (define_function_unit): Change meaning to ISSUE-DELAY.
- * pa.md (define_function_unit): Change meaning to ISSUE-DELAY.
- * sparc.md (define_function_unit): Change meaning to ISSUE-DELAY.
- Merge FP_MUL, FP_DIV, and FP_SQRT into one function unit.
-
- * jump.c (delete_computation): Derived from delete_jump.
- (delete_jump): Use delete_computation.
-
-Tue Aug 25 13:42:19 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * final.c (final_scan_insn): If 2 consec line notes have same line num,
- can omit one.
-
-Tue Aug 25 13:38:19 1992 Michael Meissner (meissner@osf.org)
-
- * mips.h (MIPS_VERSION): Set Meissner version # to 24.
- (ASM_FINAL_SPEC): Use %U to get the last file name created with
- %u, rather than %u.
- (ARG_POINTER_REGNUM): Use the hardwired register $0 as the
- argument pointer, instead of the frame pointer, to allow the frame
- pointer to be the same as the stack pointer after the initial
- stack allocations. This is to allow GCC generated code to be
- linked against MIPS shared libraries. The linker rearranges the
- code, and needs to have a frame pointer, if used, to be the same
- as the stack. The argument pointer is always eliminated in favor
- of the stack pointer or frame pointer.
- (FRAME_GROWS_DOWNWARD): Don't define this any more.
- (STARTING_FRAME_OFFSET): Locals start after the stack area to pass
- arguments to called functions.
- (STACK_DYNAMIC_OFFSET): If function is a leaf function, but calls
- __builtin_alloca, assume a default argument area, so the MIPS
- linker doesn't think a second frame pointer is created.
- (INITIAL_FRAME_POINTER_OFFSET): Don't define, since we use
- elimination instead.
- (ELIMINABLE_REGS): Define to eliminate both the stack pointer and
- frame pointer, since they are now separate.
- (CAN_ELIMINATE): Ditto.
- (INITIAL_ELIMINATION_OFFSET): Ditto.
- (ELIGIBLE_FOR_EPILOGUE_DELAY): Don't allow variables based off of
- the argument pointer, in addition to frame and stack pointers.
- (MUST_SAVE_REGISTER): Add in GP_REG_FIRST to 31, in case we ever
- change the base of the gp registers.
- (MIPS_STACK_ALIGN): Use ~7, instead of 0xfffffff8.
-
- * mips.c (number_functions_processed): Delete variable, nobody
- uses it anymore.
- (mips_debugger_offset): Add support for the frame pointer being
- the same as the stack pointer, instead of being the same as the
- argument pointer. Abort if the address is not based on any of the
- stack, frame, or argument pointers.
- (print_operand_address): Add checks for the arg pointer not being
- eliminated.
- (function_prologue): Ditto.
- (mips_expand_prologue): Ditto.
- (function_epilogue): Ditto.
- (mips_expand_epilogue): Ditto.
- (function_epilogue): Strip leading '*' if it exists from
- current_function_name when printing statistics. Delete increment
- of number_functions_processed.
- (compute_frame_size): Don't base extra_size on the macro
- STARTING_FRAME_OFFSET. If function is a leaf function, but calls
- __builtin_alloca, allocate an arg area, so that the MIPS linker
- will not complain about creating a second frame pointer. Move the
- argument save area beneath local variables.
-
- * decrose.h (ASM_FINAL_SPEC): Use %U to get the last file name
- created with %u, rather than %u.
-
- * gcc.c (do_spec_1): Add %U to return the last name generated with
- %u. This is for use with mips-tfile, to find the generated object
+ * i386.md (movsi_xor): Export.
+ (setcc peep2): Use it when available; add an alternative to
+ match zero_extendhisi2_and.
+
+2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * romp-protos.h (romp_initialize_trampoline): New function.
+ * romp.c (romp_initialize_trampoline): Likewise.
+ * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
+ romp_initialize_trampoline.
+
+2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
+ * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+
+2001-10-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * unroll.c (loop_iterations): Extend check for multiple back edges.
+
+2001-10-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * langhooks.h: New file.
+ * Makefile.in (OBJS): Added langhooks.o.
+ (c-lang.o): Depend on langhooks.h.
+ (c-common.o): Don't depend on tree-inline.h.
+ (tree-inline.o): Depend on toplev.h.
+ (langhooks.o): New rule.
+ * c-common.c: Don't include tree-inline.h.
+ (c_mark_lang_decl): Mark argument c as unused.
+ (c_common_lang_init): Don't initialize hooks here.
+ * c-lang.c: Include langhooks.h, then override some macros.
+ (lang_hooks): Initialize with macros in langhooks.h.
+ (c_init): Don't initialize hooks here.
+ * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
+ (struct lang_hooks): Add tree_inlining. Refer to langhooks.h.
+ * tree-inline.c: Include toplev.h. Don't define hook variables.
+ * tree-inline.h: Don't define hook types nor declare hook
+ variables. Move macros to...
+ * langhooks.c: ... new file, as functions. Adjust all callers.
+
+2001-10-08 Jeffrey A Law <law@cygnus.com>
+
+ * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
+ purge_mem_unchanging_flag on all instructions, not just on those
+ before NOTE_INSN_FUNCTION_BEG.
+
+2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cppmacro.c (_cpp_create_definition): Leave comments off.
+
+ * doc/cpp.texi: Update.
+
+2001-10-08 DJ Delorie <dj@redhat.com>
+
+ * c-decl.c (grokfield): Make sure the only unnamed fields
+ we're allowing are either structs or unions.
+ * doc/extend.texi: Add documentation for the unnamed field
+ extension.
+
+2001-10-08 Zack Weinberg <zack@codesourcery.com>
+
+ * aclocal.m4 (gcc_AC_PROG_GNAT): New.
+ * configure.in: Use it.
+ * configure: Regenerated.
+ * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
+ config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
+
+2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cppfiles.c (open_file): Don't mark zero-length files
+ never-reread here. Don't output diagnostics here either.
+ (stack_include_file): Mark them never-reread here.
+ (_cpp_read_file): Update.
+
+2001-10-08 Richard Henderson <rth@redhat.com>
+
+ * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
+
+2001-10-08 Richard Henderson <rth@redhat.com>
+
+ * expr.c (store_expr): When converting a CONST_INT for storage
+ in a SUBREG, convert it to both SUBREG modes before stripping
+ the SUBREG.
+
+2001-10-08 Richard Henderson <rth@redhat.com>
+
+ * varasm.c (restore_varasm_status): New.
+ * function.h: Declare it.
+ * function.c (pop_function_context_from): Call it.
+
+2001-10-08 Richard Henderson <rth@redhat.com>
+
+ * c-common.h (struct c_lang_decl): Add declared_inline.
+ * c-tree.h (DECL_DECLARED_INLINE_P): New.
+ * c-lang.c (c_disregard_inline_limits): Use it.
+ * c-decl.c (duplicate_decls): Likewise.
+ (pushdecl, redeclaration_error_message): Likewise.
+ (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
+ (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P.
+ Set DECL_INLINE if -finline-functions.
+ (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
+
+2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cppmacro.c (funlike_invocation_p): Move some logic to caller
+ in enter_macro_context. Create a padding token in its own context
+ if necessary when the search for '(' fails.
+ (enter_macro_context): Update.
+
+2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
+ genmultilib, toplev.c: Fix spelling errors of "separate" as
+ "seperate", and corresponding spelling errors of related words.
+
+2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
+ * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
+ Likewise.
+ * c-dump.c (dump_option_value_info): Likewise.
+ * c-format.c (format_length_info, format_char_info,
+ format_flag_spec, format_flag_pair, format_kind_info): Likewise.
+ * collect2.c (names): Likewise.
+ * cppdefault.h (default_include): Likewise.
+ * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
+ * flow.c (life_analysis): Likewise.
+ * gcc.c (dir_separator_str, modify_target, option_map,
+ target_option_translations, spec_list_1, extra_specs_1,
+ init_spec): Likewise.
+ * gcov.c (gcov_version_string): Likewise.
+ * genattr.c (write_units): Likewise.
+ * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
+ * gengenrtl.c (rtx_definition, defs): Likewise.
+ * genrecog.c (pred_table): Likewise.
+ * global.c (global_alloc): Likewise.
+ * lcm.c (optimize_mode_switching): Likewise.
+ * local-alloc.c (find_free_reg): Likewise.
+ * params.h (param_info): Likewise.
+ * predict.c (predictor_info): Likewise.
+ * protoize.c (unexpansion_struct): Likewise.
+ * real.c (bmask): Likewise.
+ * recog.h (insn_operand_data, insn_data): Likewise.
+ * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
+ * stmt.c (expand_nl_goto_receiver): Likewise.
+ * toplev.c (da, debug_args, lang_opt, documented_lang_options,
+ target_switches, target_options): Likewise.
+ * tradcif.y (token, tokentab2, yylex): Likewise.
+ * tree.h (attribute_spec): Likewise.
+
+ * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
+ Likewise.
+ * arc.c (arc_output_function_epilogue): Likewise.
+ * arm.c (processors, all_cores, all_architectures,
+ arm_override_options, isr_attribute_arg, isr_attribute_args,
+ arm_isr_value): Likewise.
+ * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
+ Likewise.
+ * c4x.c (c4x_int_reglist): Likewise.
+ * d30v.c (override_options): Likewise.
+ * h8300.c (shift_insn): Likewise.
+ * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
+ pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
+ ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
+ builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
+ ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
+ * i386.h (processor_costs, ix86_cost): Likewise.
+ * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
+ * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
+ * m68k.c (codes_68881, codes_FPA): Likewise.
+ * m88k.c (mode_from_align, max_from_align, all_from_align,
+ best_from_align, m_options): Likewise.
+ * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
+ * mcore.c (mode_from_align): Likewise.
+ * mips/elf64.h (UNIQUE_SECTION): Likewise.
+ * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
+ * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
+ * mips.h (mips_regno_to_class): Likewise.
+ * ns32k.c (scales): Likewise.
+ * pa.c (import_string, magic_milli): Likewise.
+ * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
+ * sparc.c (leaf_reg_remap, sparc_override_options,
+ reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
+ Likewise.
+ * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
+
+2001-10-07 Dale Johannesen <dalej@apple.com>
+
+ * reload1.c (reload_reg_free_p): Teach register interference
+ checking that multiple output reloads are emitted in
+ reverse order.
+ reload1.c (reload_reg_reaches_end_p): Ditto.
+ reload1.c (reloads_conflict): Ditto.
+
+2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
+ NULL_TREE inside @code.
+
+2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/gcc.texi: Document consistent style of "32-bit",
+ "Objective-C", and "@code{NULL}".
+
+2001-10-06 Zack Weinberg <zack@codesourcery.com>
+
+ * cpplex.c (enum spell_type): Add SPELL_NUMBER.
+ (cpp_token_len, cpp_spell_token, cpp_output_token,
+ _cpp_equiv_tokens): Handle it.
+ * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
+ CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
+ * cppexp.c (_cpp_parse_expr): Use the correct operator code in
+ error messages.
+
+Sat Oct 6 07:42:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * gcc.c (default_compilers): Remove .ada.
+
+2001-10-06 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * doc/cppinternals.texi: Update.
+
+2001-10-06 Zack Weinberg <zack@codesourcery.com>
+
+ * gcc.c (main): Set this_file_error if the appropriate
+ compiler for a language has not been installed.
+
+2001-10-06 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
+
+2001-10-05 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gccbug.in (CATEGORIES): Add ada.
+
+2001-10-05 Catherine Moore <clm@redhat.com>
+
+ * config/stormy16/stormy-abi: Document abi changes.
+ * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
+ (ICALL_REGS): New register class.
+ (NUM_ARGUMENT_REGISTERS): Now 6.
+ (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
+ in registers.
+ (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
+ * config/stormy16.md (call_internal, call_value_internal,
+ indirect_jump): Use new 'z' constraint.
+
+2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * doc/cppinternals.texi: Update.
+
+2001-10-05 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (FRAME_BEGIN_LABEL): New.
+ (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
+ the gas section-name-as-label feature.
+
+2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * doc/cppinternals.texi: Update.
+
+Fri Oct 5 08:17:46 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
+ to ensure valid SImode constants.
+
+2001-10-05 Alexandre Oliva <aoliva@redhat.com>
+
+ * Makefile.in (c-decl.o): Depend on tree-inline.h.
+ (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
+ * c-decl.c: Include tree-inline.h.
+ (c_expand_body): Call optimize_inline_calls. Determine whether
+ a function is inlinable upfront, and only clear
+ DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
+ * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
+ (c_disregard_inline_limits): New function.
+ (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
+ (c_post_options): Enable tree inlining if inlining is enabled.
+ Don't inline trees when instrumenting functions.
+ (c_init): Initialize lang_disregard_inline_limits and
+ lang_cannot_inline_tree_fn.
+ * tree-inline.c (initialize_inlined_parameters): Handle calls
+ with fewer arguments than declared parameters, and fewer
+ parameters than passed arguments. Don't assume value is a
+ DECL.
+ (declare_return_variable): Convert return value back to the
+ original type, if it was promoted.
+ (tree_inlinable_function_p): New function.
+ (inlinable_function_p): Don't look at DECL_INLINE if we're
+ inlining all functions. Make it work with a NULL id.
+ Re-check DECL_UNINLINABLE after language-specific checks.
+ * tree-inline.h (tree_inlinable_function_p): Declare it.
+ * integrate.c (save_for_inline): Don't bother to prepare argvec
+ when not inlining.
+ * cse.c (check_for_label_ref): Don't check deleted labels.
+
+ * Makefile.in (tree-inline.o): Depend on newly-included headers.
+ * tree-inline.c: Include headers needed for the functions moved in.
+ (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
+ (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
+ (copy_body, initialize_inlined_parameters): Likewise.
+ (declare_return_variable, inlinable_function_p): Likewise.
+ (expand_call_inline, expand_calls_inline): Likewise.
+ (optimize_inline_calls, clone_body): Likewise.
+ (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
+ (copy_tree_r, remap_save_expr): Likewise.
+
+2001-10-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * Makefile.in (OBJS): Added tree-inline.o.
+ (c-common.o): Depend on tree-inline.h.
+ (tree-inline.o): New target.
+ * c-common.c: Include tree-inline.h.
+ (c_mark_lang_decl): Don't mark saved_tree.
+ (c_common_lang_init): Set lang_anon_aggr_type_p.
+ * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
+ (struct c_lang_decl): Moved saved_tree to tree_decl.
+ * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
+ * integrate.h (function_attribute_inlinable_p): Declare it.
+ * integrate.c (function_attribute_inlinable_p): Export it.
+ * tree-inline.c: New file. Define variables declared in...
+ * tree-inline.h: New file. Declare functions to be moved to
+ tree-inline.c. Define macros and declare types and hooks for
+ language-specific tree inlining.
+ (flag_inline_trees): Moved definition from cp/decl2.c.
+ * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
+ (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
+ (struct tree_decl): Moved saved_tree from c_lang_decl and
+ inlined_fns from C++'s lang_decl.
+
+2001-10-04 Loren J. Rittle <ljrittle@acm.org>
+
+ * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
+ propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
+
+2001-10-04 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * doc/cppinternals.texi: Update.
+
+2001-10-04 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.c (init_cumulative_args): Remember to set
+ cum->prototype.
+ * config.gcc: Redo linux configuration. Add target_cpu_default
+ of soft-float to all mipsisa32 combinations and tx39.
+ * config/mips/linux.h: Remove include of mips.h.
+
+2001-10-03 Loren J. Rittle <ljrittle@acm.org>
+
+ * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
+ HOST_LDFLAGS and HOST_CPPFLAGS.
+
+2001-10-03 Ziemowit Laski <zlaski@apple.com>
+
+ * c-parse.in (objc_inherit_code, objc_pq_context,
+ objc_public_flag): Make static.
+ (objc_interface_context, objc_implementation_context,
+ objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
+ global tree array in objc/objc-act.[ch].
+ (methoddef): Remove unnecessary code.
+
+ * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
+ Hoist struct definitions to objc-act.h.
+ (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
+ cat_count): Place declaration in objc-act.h.
+ (objc_tree_index): Move enumeration to objc-act.h.
+ (objc_global_trees): Place declaration and macro accessors in
+ objc-act.h.
+ (implementation_context): Remove duplicate; use
+ objc_implementation_context instead:
+ (method_context): Remove duplicate; use objc_method_context
+ instead.
+ (objc_ellipsis_node, objc_method_prototype_template,
+ implemented_classes, function_type): Move global vars to
+ objc_global_trees.
+ (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
+ (build_message_expr): Move actual construction of ObjC message
+ send nodes to finish_message_expr.
+ (finish_message_expr): New routine, contains code formerly in
+ build_message_expr.
+ * objc/objc-act.h (finish_message_expr): New prototype.
+ (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
+ declarations; these vars are now part of objc_global_trees.
+ (objc_tree_index, objc_global_trees): Move definitions from
+ objc-act.c.
+ * objc/objc-tree.def: Update copyright info.
+
+Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com)
+
+ * dwarf2asm.c (unaligned_integer_asm_op): Abort if
+ op is NULL.
+ * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
+ only if TARGET_ARCH64.
+
+2001-10-02 Bernd Schmidt <bernds@redhat.com>
+
+ * doc/extend.texi: Fix some problems with previous checkin.
+ * doc/invoke.texi: Likewise.
+
+2001-10-02 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h: Update comments.
+ (cpp_context): Update.
+ (spec_nodes): Remove n__Pragma.
+ * cppinit.c (cpp_create_reader): Update.
+ (builtin_array): Add _Pragma.
+ * cpplib.h: Update comments.
+ (NODE_DISABLED, BT_PRAGMA): New.
+ (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
+ * cppmacro.c (struct cpp_macro): Remove disabled.
+ (builtin_macro): Return int, handle _Pragma, push the new token
+ on the context stack.
+ (funlike_invocation_p): Unconstify, update.
+ (enter_macro_context): Handle builtins here.
+ (replace_args, push_token_context, push_ptoken_context):
+ Update for prototype changes.
+ (_cpp_pop_context): Update.
+ (cpp_get_token): Don't handle buitins, nor _Pragma here.
+ (cpp_sys_macro_p): Update.
+ (_cpp_free_definition): Clear disabled flag.
+ (_cpp_create_definition): Upate.
+ * cppmain.c: Update comments.
+
+Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen <bo@suse.co.uk>,
+ Andreas Jaeger <aj@suse.de>,
+ Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (i386 Options): Document x86-64 options.
+ (i386 and x86-64 Options): Rename i386 options section.
+
+ * config/i386/i386.h (TARGET_UNWIND_INFO): New.
+ (TARGET_SWITCHES): Add -munwind-info.
+ (MASK_NO_UNWIND_INFO): New.
+ (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
+ biarch compilation.
+ (ASM_OUTPUT_DOUBLE_INT): New.
+
+ * config/i386/linux64.h: New spec file for Linux x86-64 support.
+ * config.gcc: Fix tm_file settings for x86-64.
+ * config/i386/x86-64.h: New file with OS independent x86-64
+ definitions.
+ * config/i386/biarch64.h: New file used to configure compiler
+ to biarch/64bit compilation.
+
+ * config/i386/i386.c: (override_options): Set flags default
+ for 64bit compilation.
+
+Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
+ (ix86_expand_int_movcc): Optimize DImode conditional moves with
+ constants on x86_64.
+ (ix86_attr_length_immediate_default): Support MODE_DI.
+ * i386.md (fixdi splitter): Add missing "&& 1" in splitter
+ condition.
+ (indirect_jump, tablejump): Turn into expander.
+
+2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (c_format_attribute_table): Make format and
+ format_arg attributes apply to function types rather than to
+ decls.
+ (is_valid_printf_arglist): Construct an attribute list and pass
+ that to check_function_format rather than a name.
+ * c-common.h (check_function_format): Adjust prototype.
+ * c-decl.c (duplicate_decls): Preserve attributes from type of
+ built-in decl when allowing for harmless conflict in types.
+ * c-format.c (record_function_format,
+ record_international_format, function_format_list,
+ international_format_info, international_format_list): Remove.
+ (function_format_info): Remove next, name and assembler_name.
+ Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
+ (decode_format_attr): New.
+ (handle_format_attribute): Handle receiving a type rather than a
+ decl. Call decode_format_attr. Store format information in a
+ function_format_info.
+ (handle_format_arg_attribute): Correct comment. Handle receiving
+ a type rather than a decl. Use unsigned HOST_WIDE_INT for
+ arg_num.
+ (check_format_info_recurse, check_format_info_main): Take argument
+ numbers as unsigned HOST_WIDE_INT.
+ (check_function_format): Take a list of attributes from the
+ function type rather than a name or assembler name. Check for
+ format attributes in that list and the attributes on the type of
+ the current function rather than looking through
+ function_format_list.
+ (check_format_info): Use unsigned HOST_WIDE_INT for argument
+ numbers.
+ (check_format_info_recurse): Take format_arg attributes from the
+ type of the function calls rather than using
+ international_format_list. Allow for multiple format_arg
+ attributes.
+ * c-typeck.c (build_function_call): Pass type attributes to
+ check_function_format rather than name or assembler name. Don't
+ require there to be a name or assembler name to check formats.
+
+2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * attribs.c (decl_attributes): Possibly call
+ insert_default_attributes to insert default attributes on
+ functions in a lazy manner.
+ * builtin-attrs.def: New file; define the default format and
+ format_arg attributes.
+ * c-common.c (c_format_attribute_table): Move to earlier in the
file.
+ (c_common_nodes_and_builtins): Initialize format_attribute_table.
+ (enum built_in_attribute, built_in_attributes,
+ c_attrs_initialized, c_init_attributes,
+ c_common_insert_default_attributes): New.
+ (c_common_lang_init): Don't initialize format_attribute_table. Do
+ call c_init_attributes.
+ * Makefile.in (c-common.o): Depend on builtin-attrs.def.
+ * c-common.h (init_function_format_info): Don't declare.
+ (c_common_insert_default_attributes): Declare.
+ * c-decl.c (implicitly_declare, builtin_function): Call
+ decl_attributes.
+ (init_decl_processing): Don't call init_function_format_info.
+ (insert_default_attributes): New.
+ * c-format.c (handle_format_attribute,
+ handle_format_arg_attribute): Be quiet about inappropriate
+ declaration when applying default attributes.
+ (init_function_format_info): Remove.
+ * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
+ (insert_default_attributes): Declare.
+
+2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
+
+2001-10-01 Jim Wilson <wilson@redhat.com>
+
+ * sched-deps.c (add_dependence): When elide conditional dependence,
+ check that insn doesn't modify cond2.
+
+2001-10-01 Dale Johannesen <dalej@apple.com>
+
+ * config/rs6000/rs6000.h (enum processor_type): Add support
+ for 7400 (G4) and 7450.
+ (RTX_COSTS): Ditto.
+ * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
+ (rs6000_issue_rate): Ditto.
+ (rs6000_adjust_cost): Fix cycle counts for compares.
+ (debug_stack_info): Fix an obvious typo.
+ * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
+ * doc/invoke.texi: Document.
+ * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
+ for Darwin.
+ (PROCESSOR_DEFAULT): Ditto.
+
+2001-10-01 Loren J. Rittle <ljrittle@acm.org>
+
+ * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
+ (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
+ later recursive make invocation.
+
+2001-10-01 Hans Boehm <boehm@acm.org>
+
+ * optabs.c (emit_libcall_block): When using non-call exceptions,
+ don't add REG_LIBCALL reg notes to trapping calls.
+
+2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
+
+ * flow.c (propagate_block_delete_libcall): Remove unused first arg
+ (propagate_one_insn): Update for above change
+
+2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
+
+ * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
+ _Unwind_GetTextRelBase): Argument is unused.
+
+Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
+ Loop through NOPs, placeholders, and components.
+ Don't go through NOPs if change mode.
+ (record_alias_subset): Do nothing if SUBSET and SET are the same.
+ * emit-rtl.c (set_mem_alias_set): Enable check.
+ * expr.c (find_placeholder): New function.
+ (expand_expr, case PLACEHOLDER_EXPR): Use it.
+ (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
+ to modify it and avoid unneeded copies.
+ * expr.h (expand_expr): Always define.
+ (find_placeholder): New declaration.
+
+2001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
+ operand 2 is the stack pointer.
+ ("addr-peephole"): Fix address computation peephole when operand 2
+ is the stack pointer.
+
+Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
+ (ix86_setup_incoming_varargs): Likewise.
+
+2001-10-01 Jason Merrill <jason_merrill@redhat.com>
+
+ * stor-layout.c (layout_type): Don't complain about too-large
+ array here.
+
+Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * function.c (keep_stack_depressed): Don't use delete_insn.
+
+ * expr.h (set_mem_alias_set): Move decl to here.
+ * rtl.h (mem_attrs): New typedef and struct.
+ (union rtunion_def): Add field for mem_attrs.
+ (X0MEMATTR, MEM_ATTRS): New macros.
+ (MEM_ALIAS_SET): Use MEM_ATTRS.
+ (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
+ (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
+ (set_mem_alias_set): Delete decl from here.
+
+ * alias.c (set_mem_alias_set): Delete from here.
+ * emit-rtl.c (mem_attrs_htab): New variable.
+ (rtx_htab_mark, rtx_htab_mark_1): Deleted.
+ (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
+ (mem_attrs_mark, get_mem_attrs): Likewise.
+ (gen_rtx_MEM): Clear MEM_ATTRS.
+ (set_mem_attributes): Move to here.
+ (set_mem_alias_set): Likewise, and call get_mem_attrs.
+ (init_emit_once): const_int_htab now deletable htab.
+ Initialize mem_attrs_htab.
+ * explow.c (set_mem_attributes): Delete from here.
+ * function.c (put_var_into_stack): Clear MEM_ATTRS.
+ (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
+ * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
+ * reload1.c (reload): Rework changing REG to MEM.
+
+2001-09-30 H.J. Lu <hjl@gnu.org>
+
+ * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
+ * config.in: Rebuild.
+
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
+ ("tsthi_1"): Avoid allocation in register y.
+ ("*movqi_68hc12"): Reorganize and fix constraints.
+ ("zero_extendqisi2"): Prefer d over x and y for operand 1.
+ ("addqi3"): Likewise.
+ ("addhi3"): Fix constraints.
+ ("*logicalhi3_zexthi"): Disparage soft registers.
+
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
+ to tmp reg.
+
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
+ that we use setjmp/longjmp exceptions.
+
+2001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
+ POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
+ struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
+ _cpp_pool_alloc, _cpp_next_chunk): Remove.
+ (_cpp_extend_buff, BUFF_ROOM): Update.
+ (_cpp_append_extend_buff): New.
+ (struct cpp_reader): Remove macro_pool, add a_buff.
+ * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
+ macro_pool.
+ (cpp_destroy): Free a_buff instead of macro_pool.
+ * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
+ new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
+ _cpp_pool_alloc, ): Remove.
+ (parse_number, parse_string): Update use of _cpp_extend_buff.
+ (_cpp_extend_buff): Update.
+ (_cpp_append_extend_buff, cpp_aligned_alloc): New.
+ * cpplib.c (glue_header_name, parse_answer):
+ Update use of _cpp_extend_buff.
+ (cpp_register_pragma, cpp_register_pragma_space): Use
+ _cpp_aligned_alloc.
+ (do_assert, do_unassert): Check for EOL, update.
+ * cppmacro.c (stringify_arg, collect_args): Update to use
+ _cpp_extend_buff and _cpp_append_extend_buff.
+ (save_parameter, parse_params, alloc_expansion_token,
+ _cpp_create_definition): Rework memory management.
+
+2001-09-29 Andris Pavenis <pavenis@lanet.lv>
+
+ * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
+ update md_exec_prefix.
+ (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
+ to string constant.
+
+2001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
+ (SELECT_CC_MODE): Use s390_select_ccmode.
+ * config/s390/s390-protos.h (s390_select_ccmode): Add.
+ * config/s390/s390.c (s390_select_ccmode): New.
+ (s390_match_ccmode): Add CCLmode.
+ (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
+ (output_branch_condition, output_inverse_branch_condition): Removed.
+ (print_operand): Use s390_branch_condition_mnemonic.
+ * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
+ subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
+ (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
+
+ * config/s390/s390.c (check_and_change_labels): Preserve CC mode
+ when converting conditional branches to far branches.
+ * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
+ cmpint_di): Use CCSmode instead of CCUmode.
+
+ * config/s390/s390.c (legitimate_la_operand_p): New.
+ * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
+ * config/s390/s390.md (movsi): Convert load address patterns to
+ arithmetic operations when necessary.
+ (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
+ (do_la): Renamed to *do_la and use legitimate_la_operand_p.
+ (*do_la_reg_0): Don't use before reload.
+
+ * config/s390/s390.c (legitimize_address): Make more efficient
+ use of two-register addressing mode.
+
+ * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
+ with -mno-backchain in some corner cases.
+
+ * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
+
+2001-09-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * reload.c (find_reloads): Mark new USE insns with QImode.
+ (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
+ find_reloads_subreg_address): Likewise.
+ * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
+ encountered.
+ * reload1.c (reload_combine_note_use): Likewise, inside USEs and
+ CLOBBERs.
+ (reload): Make sure there are no USEs with mode other than
+ VOIDmode. At the end, remove those marked with QImode.
+
+2001-09-29 Per Bothner <per@bothner.com>
+
+ * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
+ * Makefile.in (includedir): Rename to local_includedir.
+ (includedir): Define as $(prefix)/include.
+ * config.in (PREFIX_INCLUDE_DIR): New variable.
+ * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
+
+2001-09-29 Bernd Schmidt <bernds@redhat.com>
+
+ * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
+ storehps builtins.
+ * doc/extend.texi (Vector Extensions): New node.
+ * doc/invoke.texi (Machine Dependent Options): Add documentation for
+ i386 -mmmx, -msse, -m3dnow.
+
+Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
+
+2001-09-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
+
+ * doc/invoke.texi (Optimize Options): Delete spurious @table.
+
+2001-09-28 Richard Henderson <rth@redhat.com>
+
+ * varasm.c (assemble_integer): Bound alignment check by
+ BIGGEST_ALIGNMENT.
+
+ * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
+
+2001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
+
+2001-09-25 Bernd Schmidt <bernds@redhat.com>
+
+ Mostly from Graham Stott <grahams@redhat.com>
+ * c-common.c (type_for_mode): Add support for V2SFmode.
+ * tree.c (build_common_tree_nodes_2): Likewise.
+ * tree.h (enum tree_index, global_trees): Likewise.
+ * config/i386/i386.c (x86_3dnow_a): New variable.
+ (override_options): Support 3Dnow extensions.
+ (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
+ Athlon's version of 3Dnow.
+ (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
+ (ix86_expand_builtin): Handle them.
+ (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
+ * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
+ TARGET_3DNOW_A): New macros.
+ (TARGET_SWITCHES): Add 3Dnow switches.
+ (VALID_MMX_REG_MODE_3DNOW): New macro.
+ (VECTOR_MODE_SUPPORTED_P): Use it.
+ (enum ix86_builtins): Add entries for 3Dnow builtins.
+ * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
+ pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
+ pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
+ pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
+ pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
+ pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
+ (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
+ mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
+ mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
+ sfence_insn, prefetch): Make these available if TARGET_SSE or
+ TARGET_3DNOW_A.
+
+Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
+ ix86_va_start, ix86_build_va_list): Declare.
+ * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
+ ix86_va_start, ix86_build_va_list): New global functions.
+ * i386.md (sse_prologue_save_insn): New insn.
+ (sse_prologue_save): New expander.
+ * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
+ BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
+
+2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
+ Use size_t everywhere, make definitions consistent with
+ prototypes.
+
+Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * gcse.c (replace_store_insn): Use delete_insn.
+ * loop.c (move_movables): Likewise; avoid delete_insn
+ from clobbering notes moved elsewhere.
+ (check_dbra_loop): Use delete_insn.
+ * ssa.c (convert_from_ssa): Likewise.
+ * cse.c (cse_insn): Use delete_insn.
+
+2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (struct cpp_buff): Make unsigned.
+ (_cpp_get_buff): Take length of size_t.
+ (_cpp_unaligned_alloc): New.
+ (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
+ (struct cpp_reader): Remove ident_pool. Add u_buff.
+ * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
+ (cpp_destroy): Destroy u_buff, not ident_pool.
+ * cpplex.c (parse_number, parse_string, save_comment,
+ cpp_token_as_text): Update to use the unaligned buffer.
+ (new_buff): Make unsigned.
+ (_cpp_unaligned_alloc): New.
+ * cpplib.c (glue_header_name): Update to use the unaligned buffer.
+ * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
+ Similarly.
+ (collect_args): Make unsigned.
+
+2001-09-27 Zack Weinberg <zack@codesourcery.com>
+
+ * cpplex.c (cpp_output_token): Use a putc loop for
+ SPELL_OPERATOR, and fwrite for SPELL_IDENT.
+
+ * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
+ * configure, config.in: Regenerate.
+ * system.h: Replace fwrite and fprintf with their unlocked
+ variants if available.
+
+2001-09-27 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
+ in favor of .eh_frame.
+
+2001-09-27 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
+ to macros.
+ (LIBCALL_VALUE): Likewise.
+
+2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h: Update comment.
+ * cpplex.c: Update comments.
+ (_cpp_can_paste): Remove.
+ * cpplib.h (_cpp_can_paste): Remove.
+ * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
+ lexer rather than _cpp_can_paste.
+
+2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * doc/cppinternals.texi: Update.
+
+2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (struct cpp_pool): Remove locks and locked.
+ (struct cpp_context): Add member buff.
+ (struct cpp_reader): Remove member argument_pool.
+ (_cpp_lock_pool, _cpp_unlock_pool): Remove.
+ * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
+ * cpplex.c (chunk_suitable): Remove pool argument.
+ (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
+ (new_buff, _cpp_extend_buff): Update.
+ (_cpp_get_buff): Fix silly pointer bug. Be more selective about
+ which buffer is returned.
+ (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
+ (_cpp_lock_pool, _cpp_unlock_pool): Remove.
+ * cppmacro.c (lock_pools, unlock_pools): Remove.
+ (push_ptoken_context): Take a _cpp_buff.
+ (enter_macro_context): Pool locking removed.
+ (replace_args): Use a _cpp_buff for the replacement list with
+ arguments replaced.
+ (push_token_context): Clear buff.
+ (expand_arg): Use _cpp_pop_context.
+ (_cpp_pop_context): Free a context's buffer, if any.
+
+2001-09-26 DJ Delorie <dj@redhat.com>
+
+ * c-typeck.c (digest_init): Check for sizeless arrays.
+
+2001-09-26 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (init_one_libfunc): Create a dummy function type
+ instead of using error_mark_node.
+
+2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
+ _cpp_extend_buff, _cpp_free_buff): New.
+ (struct cpp_reader): New member free_buffs.
+ * cppinit.c (cpp_destroy): Free buffers.
+ * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
+ _cpp_extend_buff, _cpp_free_buff): New.
+ * cpplib.h (struct cpp_options): Remove unused member.
+ * cppmacro.c (collect_args): New. Combines the old parse_arg
+ and parse_args. Use _cpp_buff for memory allocation.
+ (funlike_invocation_p, replace_args): Update.
+
+Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * final.c (final_scan_insn): Use delete_insn instead of delete_note.
+
+2001-09-25 Andrew Haley <aph@cambridge.redhat.com>
+
+ * except.c (sjlj_mark_call_sites): Change address inside sequence.
+
+2001-09-24 Andrew Haley <aph@cambridge.redhat.com>
+
+ * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
+ glibc.
+
+2001-09-25 Janis Johnson <janis187@us.ibm.com>
+ Jim Wilson <wilson@redhat.com>
+
+ * doc/install.texi (Specific, ia64-*-linux): Document.
+
+Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (cfgrtl.o): Add.
+ * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
+ free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
+ free_aux_for_edge): Declare.
+ * cfg.c
+ (HAVE_return): Undefine.
+ * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
+ free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
+ free_aux_for_edge): New global functions.
+ (first_delete_block): New static variable.
+ (init_flow): Clear first_delete_block.
+ (basic_block_for_insn, label_value_list, tail_recursion_label_list,
+ can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
+ try_redirect_by_replacing_jump, last_loop_beg_note,
+ back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
+ delete_insn, delete_insn_chain, create_basic_block_structure,
+ create_basic_block, flow_delete_block, compute_bb_for_insn,
+ free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
+ set_block_for_new_insns, split_block, merge_blocks_nomove,
+ block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
+ redirect_edge_and_branch, force_nonfallthru_and_redirect,
+ force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
+ tidy_fallthru_edges, split_edge, insert_insn_on_edge,
+ commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
+ debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
+ purge_all_dead_edges): Move to ....
+ * cfgrtl.c: New file; .... Here.
+
+ * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
+ (reroder_basic_block): Use alloc_aux_for_blocks.
+ * predict.c (estimate_bb_frequencies): Likewise; use
+ alloc_aux_for_edges.
+ * profile.c (compute_branch_probabilities): Likewise.
+ (branch_prob): Likewise.
+ * reg-stack.c (reg_to_stack): Likewise.
+
+ * emit-rtl.c (emit_insns_after): Never return NULL.
+
+ * basic-block.h (set_block_for_new_insns): Delete.
+ * cfgrtl.c (set_block_for_new_insns): Delete.
+
+ * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
+ calls when crossjumping.
+
+ * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
+ * unroll.c (copy_loop_body): Use delete_insn.
+
+ * final.c (final, final_scan_insn): Use delete_insn/delete_note.
+ * function.c (fixup_var_refs_insn, fixup_var_refs_1,
+ keep_stack_depressed): Likewise.
+ * gcse.c (cprop_cc0_jump): Likewise.
+ * local-alloc.c (update_equiv_regs): Likewise.
+ * loop.c (scan_loop, loop_delete_insns): Likewise.
+ * regmove.c (try_auto_increment, fixup_match_1): Likewise.
+ * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
+ delete_output_reload, delete_address_reloads_1,
+ reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
+ Likewise.
+ * sibcall.c (replace_call_placeholder): Likewise.
+ * cse.c (cse_insn): Likewise.
+
+2001-09-25 Bernd Schmidt <bernds@redhat.com>
+
+ From Graham Stott <grahams@redhat.com>
+ (def_builtin): Only define builtins appropriate for target_flags. All
+ callers changed.
+ (builtin_decsription): Add new field mask which is used to determine
+ when to define the builtin via the macro def_builtin.
+
+ (bdesc_comi): Initialize new mask fields.
+ (bdesc_2srg): Likewise.
+ (bdesc_1arg): Likewise.
+
+ * config/i386/i386.c (ix86_init_builtins): Correct return type
+ building v4hi_ftype_v4hi_int_int tree node.
+ (ix86_expand_sse_comi): Fix typo swapping operands.
+ Don't swap comparison condition, it is already swapped.
+ (ix86_expand_sse_compare): Before swapping operands
+ move operand 1 into new rtx and not the target rtx.
+ Don't swap comparison condition, it is already swapped.
+ Always check whether we need to create a new TARGET.
+
+ * config/i386/i386.md: (sse_comi) Fix typos.
+ (sse_ucomi): Likewise.
+ (cvtss2si): Fix operand 0 contraint.
+ (cvttss2si): Likewise.
+ (sse_unpckhps): Fix mode for operand 2.
+ (sse_unpcklps): Likewise.
+
+2001-09-25 Graham Stott <grahams@redhat.com>
+
+ * sibcall.c (skip_copy_to_return_value): Tighten return value
+ copy check.
+
+2001-09-24 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.c (lwa_operand): Address must be word aligned.
+
+Mon Sep 24 18:57:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * tree.c (type_hash_marked_p): Consider as marked if debug symbol
+ number has been set.
+ (type_hash_mark): Mark type itself.
+
+2001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-lex.c (cb_def_pragma): Update.
+ (c_lex): Update, and skip padding.
+ * cppexp.c (lex, parse_defined): Update, remove unused variable.
+ * cpphash.h (struct toklist): Delete.
+ (union utoken): New.
+ (struct cpp_context): Update.
+ (struct cpp_reader): New members eof, avoid_paste.
+ (_cpp_temp_token): New.
+ * cppinit.c (cpp_create_reader): Update.
+ * cpplex.c (_cpp_temp_token): New.
+ (_cpp_lex_direct): Add PREV_WHITE when parsing args.
+ (cpp_output_token): Don't print leading whitespace.
+ (cpp_output_line): Update.
+ * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
+ do_include_common, do_line, do_ident, do_pragma,
+ do_pragma_dependency, _cpp_do__Pragma, parse_answer,
+ parse_assertion): Update.
+ (get_token_no_padding): New.
+ * cpplib.h (CPP_PADDING): New.
+ (AVOID_LPASTE): Delete.
+ (struct cpp_token): New union member source.
+ (cpp_get_token): Update.
+ * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
+ (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
+ replace_args, quote_string, stringify_arg, parse_arg, next_context,
+ enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
+ _cpp_backup_tokens, _cpp_create_definition): Update.
+ (push_arg_context): Delete.
+ (padding_token, push_token_context, push_ptoken_context): New.
+ (make_string_token, make_number_token): Update, rename.
+ (cpp_get_token): Update to handle tokens as pointers to const,
+ and insert padding appropriately.
+ * cppmain.c (struct printer): New member prev.
+ (check_multiline_token): Constify.
+ (do_preprocessing, cb_line_change): Update.
+ (scan_translation_unit): Update to handle spacing.
+ * scan-decls.c (get_a_token): New.
+ (skip_to_closing_brace, scan_decls): Update.
+ * fix-header.c (read_scan_file): Update.
+
+ * doc/cpp.texi: Update.
+
+2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
+ leak by passing malloc'ed pointer to reconcat, not concat.
+
+2001-09-24 DJ Delorie <dj@redhat.com>
+
+ * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
+
+2001-09-24 Ulrich Weigand <uweigand@de.ibm.com>:
+
+ * flow.c (delete_dead_jumptables): Delete jumptable if the only
+ reference is from the literal pool.
+
+2001-09-24 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/install.texi (Final install): Request additional information
+ in mail about successful builds.
+
+2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
+ initial value of return pointer register instead of value in frame-20.
+ Revise comments.
+
+2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
+ (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
+ the libcall if there isn't a referenced identifier for the symbol.
+
+2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
+ non 64-bit machines. Use these as a plabel for the trampoline.
+ (TRAMPOLINE_SIZE): Adjust size for new words.
+ (INITIALIZE_TRAMPOLINE): Initialize new words.
+ (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
+ pointer to the plabel in the trampoline.
+
+2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.c (function_arg): Pass floating arguments in both general and
+ floating registers in indirect (dynamic) calls when generating code
+ for the 32 bit ABI and the HP assembler.
+
+2001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * doc/install.texi: Markup fixes.
+ Use Solaris 2, SunOS 4 as appropriate.
+ (Specific, *-*-solaris2*): Explain this.
+ Unconditionally warn against /usr/ucb tools.
+ Remove Sun as warning, obsolete.
+ Move X11 header bug workaround here, update patches.
+ (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
+ (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
+
+2001-09-23 Zack Weinberg <zack@codesourcery.com>
+
+ * errors.h (warning, error, fatal, internal_error): Don't mark
+ with ATTRIBUTE_PRINTF_n.
+ * toplev.h (internal_error, fatal_io_error, warning, error,
+ pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
+ error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
+ Likewise.
+Sun Sep 23 18:19:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Mon Aug 24 18:09:34 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * function.c (pop_function_context_from): var_refs_queue
+ and temp slots now in GC memory.
+ (mark_function_status, free_after_compilation): Likewise;
+ also struct function now in GC memory.
+ (assign_stack_temp_for_type): struct temp_slot now in GC memory.
+ (combine_temp_slots): Likewise.
+ (schedule_fixup_var_refs): var_refs_queue now in GC memory.
+ (prepare_function_start): Use GC memory for struct function.
+ (mark_temp_slot): Deleted.
+ (gcc_mark_struct_function): struct function now in GC memory.
- * c-typeck.c (build_unary_op): For ADDR_EXPR, just set TREE_CONSTANT
- if staticp, but don't clear TREE_CONSTANT.
+ * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
+ code for division, not modulus.
-Mon Aug 24 13:52:13 1992 Brendan Kehoe (brendan@cygnus.com)
+ * rtl.def (MEM): Remove obsolete part of comment.
- * gcc.c (process_command): Don't set verbose_flag if they make a
- typo (e.g., `-v-E'); only when it's exactly "-v".
+2001-09-22 Joseph S. Myers <jsm28@cam.ac.uk>
-Mon Aug 24 06:49:16 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * c-format.c (init_function_format_info): Check __builtin_printf
+ and __builtin_fprintf even if -ffreestanding. Check C99 functions
+ in gnu89 mode.
- * combine.c (subst): When moving operation inside IF_THEN_ELSE,
- make a new rtx instead of using SUBST due to sharing.
+Sat Sep 22 09:09:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * combine.c (simplify_comparison): Correct test for sign extension
- when trying to widen comparison.
+ * c-common.c (format_attribute_table): Remove decl.
+ * tree.h (format_attribute_table, lang_attribute_table): New decls.
+ (lang_attribute_common): Likewise.
-Sun Aug 23 18:58:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * function.c (fix_lexical_address): Use set_mem_alias_set.
+ (expand_function_start): Likewise.
+ * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
- * fold-const.c (fold): Avoid the normal STRIP_NOPS on arg of NOP_EXPR.
+ * varasm.c (output_constant): Fix unused variable warning.
-Sun Aug 23 15:32:03 PDT 1992 Ron Guilmette (rfg at netcom.com)
+ * attribs.c: New file, from c-common.c.
+ (attribute_tables): Now four elements.
+ (format_attribute_table, lang_attribute_common): New variables.
+ (init_attributes): Reflect above changes.
+ (handle_mode_attribute): Delete check for wider than uintmax.
+ * c-common.c: Delete parts moved to attribs.c.
+ (enum attrs): Deleted; unused.
+ (c_format_attribute_table): New variable.
+ (c_common_lang_init): Initialize format_attribute_table with it.
+ * c-common.h (decl_attributes): Remove decl.
+ * tree.h (decl_attribute): Move it to here.
+ * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
+ (attribs.o): New rule.
+
+2001-09-22 Andreas Jaeger <aj@suse.de>
+
+ * builtins.c (c_getstr): Remove unused variable.
+
+2001-09-21 Richard Henderson <rth@redhat.com>
+
+ * reload1.c (reload): Use delete_insn instead of splatting
+ NOTE_INSN_DELETED.
+
+2001-09-21 Richard Henderson <rth@redhat.com>
+
+ * reload.c (push_secondary_reload): Don't check for "=" in output
+ constraint after ""->ALL_REGS check.
+
+2001-09-21 Richard Henderson <rth@redhat.com>
+
+ * predict.c (expected_value_to_br_prob): Use pc_set.
+
+ * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
+ ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
+
+2001-09-21 Richard Henderson <rth@redhat.com>
+
+ * rtl.h (LCT_RETURNS_TWICE): New.
+ * calls.c (emit_call_1): Set current_function_calls_setjmp for
+ ECF_RETURNS_TWICE.
+ (emit_library_call_value_1): Map LCT_RETURNS_TWICE
+ to ECF_RETURNS_TWICE.
+ * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
+ call to setjmp.
+
+ * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
+
+ * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
+ (JMP_BUF_SIZE): New.
+
+2001-09-21 Richard Henderson <rth@redhat.com>
+
+ * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
+ to R8_REGS.
+
+2001-09-21 Richard Henderson <rth@redhat.com>
+
+ * tree.def (FDESC_EXPR): New.
+ * expr.c (expand_expr): Handle it.
+ * varasm.c (initializer_constant_valid_p): Likewise.
+ (output_constant): Likewise.
+ * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
+ * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
+ (ASM_OUTPUT_FDESC): New.
+ * doc/tm.texi: Document the new macros.
+
+21-09-2001 Richard Earnshaw (reanrsha@arm.com)
+
+ * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
+ ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
+ once merging is complete.
+
+Fri Sep 21 11:20:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * integrate.c (allocate_initial_values): Eliminate unused arg warning.
+
+21-09-2001 Richard Earnshaw (reanrsha@arm.com)
+
+ * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
+ that would be invalid after a merge.
+
+Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
+ * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
+ remove some labels.
+ (flow_delete_insn): This one.
+ (delete_insn_chain): Rename from ...; do not care labels.
+ (flow_delete_insn_chain): ... this one.
+ (flow_delete_block): Remove the insns one BB has been expunged.
+ (merge_blocks_nomove): Likewise.
+ (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
+ updating BB boundaries.
+ (tidy_fallthru_edge): Likewise.
+ (commit_one_edge_insertion): Likewise.
+ * cfgbuild.c (find_basic_block): Likewise.
+ (find_basic_blocks_1): Likewise.
+ * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
+ (try_crossjump_to_edge): Likewise.
+ (try_optimize_cfg): Likewise.
+ * cse.c (delete_trivially_dead_insns): Likewise.
+ * df.c (df_insn_delete): Likewise.
+ * doloop.c (doloop_modify): Use delete_related_insns.
+ * emit-rtl.c (try_split): Likewise.
+ (remove_insn): Update BB boundaries.
+ * expect.c (connect_post_landing_pads): Use delete_related_insns.
+ * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
+ updating BB boundaries.
+ (propagate_block_delete_insn): Likewise.
+ (propagate_block_delete_libcall): Likewise.
+ * function.c (delete_handlers): Use delete_related_insns.
+ (thread_prologue_and_epilogue_insns): Likewise.
+ * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
+ * genpeep.c (gen_peephole): Use delete_related_insns.
+ * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
+ BB boundaries.
+ (find_cond_trap): Likewise.
+ * integrate.c (save_for_inline): Use delete_related_insns.
+ (copy_insn_list): Likewise.
+ * jump.c (pruge_linie_number_notes): Likewise.
+ (duplicate_loop_exit_test): Likewise.
+ (delete_computation): Likewise.
+ (delete_related_insn): Rename from ...; use delete_insn
+ (delete_insn): ... this one.
+ (redirect_jump): Use delete_related_insns.
+ * loop.c (scan_loop): Likewise.
+ (move_movables): Likewise.
+ (find_and_verify_loops): Likewise.
+ (check_dbra_loop): Likewise.
+ * recog.c (peephole2_optimize): Likewise.
+ * reg-stack.c (delete_insn_for_stacker): Remove.
+ (move_for_stack_reg): Use delete_insn.
+ * regmove.c (combine_stack_adjustments_for_block): Likewise.
+ * reload1.c (delete_address_reloads): Use delete_related_insns.
+ (fixup_abnormal_edges): Use delete_insn.
+ * recog.c (emit_delay_sequence): Use delete_related_insns.
+ (delete_from-delay_slot): Likewise.
+ (delete_scheduled_jump): likewise.
+ (optimize_skip): Likewise.
+ (try_merge_delay_insns): Likewise.
+ (full_simple_delay_slots): Likewise.
+ (fill_slots_from_thread): Likewise.
+ (relax_delay_slots): Likewise.
+ (make_return_insns): Likewise.
+ (dbr_schedule): Likewise.
+ * rtl.h (delete_insn): Rename to delete_related_insns.
+ (delete_insn, delete_insn_chain): New prototypes.
+ * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
+ by df_insn_delete already.
+ * ssa-dce.c (delete_insn_bb): Use delete_insn.
+ * ssa.c (convert_from_ssa): Use delete_related_insns.
+ * unroll.c (unroll_loop): Likewise.
+ (calculate_giv_inc): Likewise.
+ (copy_loop_body): Likewise.
+
+ * i386-protos.h (ix86_libcall_value, ix86_function_value,
+ ix86_function_arg_regno_p, ix86_function_arg_boundary,
+ ix86_return_in_memory, ix86_function_value): Declare.
+ * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
+ new static valurables.
+ (x86_64_reg_class): New enum
+ (x86_64_reg_class_name): New array.
+ (classify_argument, examine_argument, construct_container,
+ merge_classes): New static functions.
+ (optimization_options): Enable flag_omit_frame_pointer and disable
+ flag_pcc_struct_return on 64bit.
+ (ix86_libcall_value, ix86_function_value,
+ ix86_function_arg_regno_p, ix86_function_arg_boundary,
+ ix86_return_in_memory, ix86_function_value): New global functions.
+ (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
+ (function_arg_advance): Handle x86_64 passing conventions.
+ (function_arg): Likewise.
+ * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
+ (RETURN_IN_MEMORY): Move offline.
+ (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
+ (FUNCTION_VALUE_REGNO_P): New macro.
+ (FUNCTION_ARG_REGNO_P): Move offline.
+ (struct ix86_args): Add maybe_vaarg.
+ * next.h (FUNCTION_VALUE_REGNO_P): Delete.
+ * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
+
+2001-09-21 Hartmut Penner <hpenner@de.ibm.com>
+
+ * s390.md: Changed attributes for scheduling.
+ * s390.c: (s390_adjust_cost, s390_adjust_priority)
+ Changed scheduling
+
+2001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ Table-driven attributes.
+ * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
+ config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
+ config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
+ config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
+ config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
+ config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
+ doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
+ tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
+ * tree.h (struct tree_decl): Change machine_attributes to
+ attributes.
+ * doc/c-tree.texi: Document that all attributes are now attached
+ to decls and types.
+ * c-common.c (add_attribute, attrtab, attrtab_idx,
+ default_valid_lang_attribute, valid_lang_attribute): Remove.
+ (attribute_tables, attributes_initialized,
+ c_common_attribute_table, default_lang_attribute_table): New
+ variables.
+ (handle_packed_attribute, handle_nocommon_attribute,
+ handle_common_attribute, handle_noreturn_attribute,
+ handle_unused_attribute, handle_const_attribute,
+ handle_transparent_union_attribute, handle_constructor_attribute,
+ handle_destructor_attribute, handle_mode_attribute,
+ handle_section_attribute, handle_aligned_attribute,
+ handle_weak_attribute, handle_alias_attribute,
+ handle_no_instrument_function_attribute,
+ handle_no_check_memory_usage_attribute, handle_malloc_attribute,
+ handle_no_limit_stack_attribute, handle_pure_attribute): New
+ functions.
+ (init_attributes, decl_attributes): Rewrite to implement
+ table-driven attributes.
+ * c-common.h (enum attribute_flags): Move to tree.h.
+ * c-format.c (decl_handle_format_attribute,
+ decl_handle_format_arg_attribute): Rename to
+ handle_format_attribute and handle_format_arg_attribute. Update
+ for table-driven attributes.
+ * c-common.h (decl_handle_format_attribute,
+ decl_handle_format_arg_attribute): Remove prototypes.
+ (handle_format_attribute, handle_format_arg_attribute): Add
+ prototypes.
+ * c-decl.c (grokdeclarator): Handle attributes nested inside
+ declarators.
+ * c-parse.in (setattrs, maybe_setattrs): Remove.
+ (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
+ Update to handle nested attributes properly.
+ (maybe_resetattrs, after_type_declarator,
+ parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
+ absdcl1_ea, direct_absdcl1): Update to handle nested attributes
+ properly.
+ (make_pointer_declarator): Update to handle nested attributes
+ properly.
+ * doc/extend.texi: Update documentation of limits of attributes
+ syntax. Warn about problems with attribute semantics in C++.
+ * target.h (struct target): Remove valid_decl_attribute and
+ valid_type_attribute. Add attribute_table and
+ function_attribute_inlinable_p.
+ * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
+ TARGET_VALID_TYPE_ATTRIBUTE): Remove.
+ (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
+ Add.
+ (TARGET_INITIALIZER): Update.
+ * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
+ definition.
+ (function_attribute_inlinable_p): New function. Check for the
+ presence of any machine attributes before using
+ targetm.function_attribute_inlinable_p.
+ (function_cannot_inline_p): Update.
+ * Makefile.in (integrate.o): Update dependencies.
+ * doc/tm.texi: Update documentation of target attributes and
+ example definition of TARGET_VALID_TYPE_ATTRIBUTE.
+ * tree.c (default_valid_attribute_p, valid_machine_attribute):
+ Remove.
+ (default_target_attribute_table,
+ default_function_attribute_inlinable_p): New.
+ (lookup_attribute): Update comment to clarify handling of multiple
+ attributes with the same name.
+ (merge_attributes, attribute_list_contained): Allow multiple
+ attributes with the same name but different arguments to appear in
+ the same attribute list.
+ * tree.h (default_valid_attribute_p): Remove prototype.
+ (struct attribute_spec): New.
+ (default_target_attribute_table): Declare.
+ (enum attribute_flags): Move from c-common.h. Add
+ ATTR_FLAG_TYPE_IN_PLACE.
+ (default_function_attribute_inlinable_p): Declare.
+ * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
+ (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (vms_attribute_table): New.
+ * config/arc/arc.c (arc_valid_decl_attribute): Remove.
+ (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (arc_attribute_table, arc_handle_interrupt_attribute): New.
+ * config/arm/arm.c (arm_valid_type_attribute_p,
+ arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
+ Remove.
+ (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
+ define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (arm_attribute_table, arm_handle_fndecl_attribute,
+ arm_handle_isr_attribute): New.
+ * config/avr/avr.c (avr_valid_type_attribute,
+ avr_valid_decl_attribute): Remove.
+ (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
+ define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (avr_attribute_table, avr_handle_progmem_attribute,
+ avr_handle_fndecl_attribute): New.
+ * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
+ (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (c4x_attribute_table, c4x_handle_fntype_attribute): New.
+ * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
+ (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (h8300_attribute_table, h8300_handle_fndecl_attribute,
+ h8300_handle_eightbit_data_attribute,
+ h8300_handle_tiny_data_attribute): New.
+ * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
+ i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
+ Remove prototypes.
+ (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
+ declarations.
+ * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
+ (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
+ define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (ix86_attribute_table, ix86_handle_cdecl_attribute,
+ ix86_handle_regparm_attribute): New.
+ * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
+ i386_pe_valid_type_attribute_p): Remove.
+ (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
+ * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
+ (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (ia64_attribute_table): New.
+ * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
+ interrupt_ident2, model_ident1, model_ident2): Remove.
+ (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (init_idents): Update.
+ (m32r_attribute_table, m32r_handle_model_attribute): New.
+ * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
+ Remove.
+ (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
+ * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
+ (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (mcore_attribute_table, mcore_handle_naked_attribute): New.
+ * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
+ (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
+ * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
+ (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
+ * config/sh/sh.c (sh_valid_decl_attribute): Remove.
+ (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (sh_attribute_table, sh_handle_interrupt_handler_attribute,
+ sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
+ New.
+ * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
+ Remove.
+ (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
+ New.
+ * config/v850/v850.c (v850_valid_decl_attribute): Remove.
+ (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ (TARGET_ATTRIBUTE_TABLE): Define.
+ (v850_attribute_table, v850_handle_interrupt_attribute,
+ v850_handle_data_area_attribute): New.
+ * config/v850/v850-c.c (mark_current_function_as_interrupt):
+ Return void. Call decl_attributes instead of
+ valid_machine_attribute.
+
+Fri Sep 21 01:49:41 2001 J"orn Rennecke <amylaar@redhat.com>
+
+ * sh-protos.h (sh_pr_n_sets): Declare.
+ * sh.c (calc_live_regs): If the initial value for PR has been copied,
+ look at the copy to determine if PR needs to be saved.
+ sh_pr_n_sets: New function.
+ * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
+ (ALLOCATE_INITIAL_VALUE): Define.
+
+ * sh.c (initial_elimination_offset):
+ Fix RETURN_ADDRESS_POINTER_REGNUM case.
+
+Fri Sep 21 01:13:56 2001 J"orn Rennecke <amylaar@redhat.com>
+
+ * integrate.c (allocate_initial_values): New function.
+ * integrate.h (allocate_initial_values): Declare.
+ * local-alloc.c (local_alloc): Move call to allocate_reg_info from
+ here...
+ * reload1.c (reload): And initialization of reg_equiv_memory_loc
+ from here...
+ * toplev.c (rest_of_compilation): To here.
+ Call allocate_initial_values.
+ * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
+
+Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
+
+2001-09-20 DJ Delorie <dj@redhat.com>
+
+ * c-typeck.c (really_start_incremental_init): Discriminate
+ between zero-length arrays and flexible arrays.
+ (push_init_level): Detect zero-length arrays and handle them
+ like fixed-sized arrays.
+ * expr.c (store_constructor): Handle zero-length arrays and
+ flexible arrays correctly.
+ * doc/extend.texi: Update zero-length array notes.
+
+2001-09-20 Jim Wilson <wilson@redhat.com>
+
+ * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
+ (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
+ for issue port conflicts.
+ (cycle_end_fill_slots): TYPE_L instructions take two slots.
+
+2001-09-20 Andrew MacLeod <amacleod@redhat.com>
+
+ * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
+ on ia64.
+
+Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * fold-const.c (hashtab.h): Include.
+ (int_const_binop): Remove FORSIZE arg and compute from type; all
+ callers changed.
+ Call size_int_type_wide for all single-word constants.
+ (size_htab_hash, size_htab_eq): New functions.
+ (size_int_type_wide): Rework to use hash table.
+ * ggc-common.c (hashtab.h): Include.
+ (struct d_htab_root): New struct.
+ (d_htab_roots): New variable.
+ (ggc_add_deletable_htab, ggc_htab_delete): New functions
+ (ggc_mark_roots): Handle deletable htabs.
+ * ggc-page.c (ggc_marked_p): New function.
+ * ggc-simple.c (ggc_marked_p): Likewise.
+ * ggc.h: Reformatting throughout.
+ (ggc_marked_p, ggc_add_deletable_htab): New declarations.
+ * tree.c (init_obstacks): Make type_hash_table a deletable root.
+ (type_hash_add): Allocate struct type_hash from GC memory.
+ (mark_hash_entry, mark_type_hash): Deleted.
+ (type_hash_marked_p, type_hash_mark): New functions.
+ * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
+
+Thu Sep 20 12:49:34 2001 J"orn Rennecke <amylaar@redhat.com>
+
+ * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
+ than SImode.
+
+Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
+ array-too-large test for signed sizetype.
+
+Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (indirect_jump): Allow Pmode operand.
+ (tablejump): LIkewise; perform expansion to 64bit mode.
+ * i386.c (symbolic_operand): Allow 64bit PIC references.
+ (pic_symbolic_operand): Likewise.
+ (ix86_find_base_term): Strip the 64bit PIC references.
+ (legitimate_pic_address_disp_p): Handle 64bit PIC.
+ (legitimize_pic_address): Likewise.
+ (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
+ * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
+
+2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
+
+ * stringpool.c (get_identifier_with_length): New function.
+ * tree.h (get_identifier_with_length): New prototype.
+
+2001-09-19 Alan Modra <amodra@bigpond.net.au>
+ David Edelsohn <edelsohn@gnu.org>
+
+ Revert:
+ * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
+ already sign-extended.
+
+ * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
+ * config/rs6000/rs6000.c (logical_operand): Always compare op as
+ HOST_WIDE_INT.
+ (rs6000_emit_set_long_const): Avoid unnecessary shift.
+ (output_profile_hook): Declare label_name const.
+ * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
+ to match constraints.
+
+2001-09-19 Stan Shebs <shebs@apple.com>
- * stmt.c (expand_end_bindings): Generation of NOTE_INSN_BLOCK_END
- moved down so that it occurs after call to `expand_cleanups'.
+ * alias.c: Fix typos in comments.
+ * sched-rgn.c (init_ready_list): Ditto.
+ * unwind-dw2.c (uw_frame_state_for): Ditto.
+ * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
+ * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
+ * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
-Sun Aug 23 16:24:32 1992 Michael Meissner (meissner@osf.org)
+2001-09-19 Richard Henderson <rth@redhat.com>
- * decrose.h (CPP_SPEC): Don't define strcmp as __builtin_strcmp in
- the case neither -fbuiltin nor -fno-builtin were defined.
- * i386rose.h (CPP_SPEC): Ditto.
+ * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
+ to the exit block.
+ * Makefile.in (cfg.o): Depend on TM_P_H.
-Sun Aug 23 02:03:41 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-09-19 Richard Henderson <rth@redhat.com>
- * libgcc2.c (__builtin_new): Cast the result of malloc.
+ * config/alpha/alpha.c (local_symbol_p): Split out from ...
+ (local_symbolic_operand): ... here.
+ (small_symbolic_operand): Check mode.
+ (global_symbolic_operand): New.
+ (input_operand): Reject symbolics if explicit relocs.
+ (call_operand): Tidy.
+ (alpha_legitimize_address): Use movdi_er_high_g.
+ (alpha_expand_mov): Likewise.
+ * config/alpha/alpha-protos.h: Update.
+ * config/alpha/alpha.h (PREDICATE_CODES): Update.
+ * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
+ (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
+ (UNSPECV_LDGP2): Remove.
+ (all call patterns): Use 's' not 'i' for symbolic constraint.
+ (call_osf call_value_osf): Use call_operand.
+ (all osf call patterns): Use $gp. New peepholes for explicit relocs.
+ (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
+ (prologue_ldgp_1_er): Remove.
+ (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
+ (builtin_setjmp_receiver_er patterns): Use them.
+ (exception_receiver_er): Likewise.
- * toplev.c: Fix typo in prev change.
+2001-09-19 Richard Henderson <rth@redhat.com>
- * c-decl.c (insert_block, delete_block): New functions.
- * c-parse.y (primary, using compstmt): Call delete_block
- instead of clearing TREE_USED.
- * expr.c (expand_expr): For BIND_EXPR, call insert_block on the block.
-
-Sat Aug 22 14:12:02 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
- * configure: Use absolute pathname in value of INSTALL.
+ * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
+ and NON_LOCAL_GOTO notes.
+ * recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
+ copy over CALL_INSN_FUNCTION_USAGE.
-Sat Aug 22 06:42:39 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-09-18 Catherine Moore <clm@redhat.com>
- * emit-rtl.c (insn_emit_once): Provide a zero constant for CC modes.
+ * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
+ Define as 0.
-Fri Aug 21 18:33:30 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
+2001-09-18 Ulrich Weigand <uweigand@de.ibm.com>:
- * reorg.c (fill_simple_delay_slots): Always try to fill empty
- delay slots with insns from beyond the delay insn, even if
- optimize_skip was attempted.
- (fill_simple_delay_slots): When filling with insns from after the
- delay insn, make sure to always account for the sets and
- references in the delay insn.
+ * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
+ new-style tm_file specification. Specify correct tm_p_file,
+ md_file, and out_file for s390x.
+
+ * config/s390/linux.h, linux64.h: Don't include other target
+ macro header files. Now handled via tm_file.
+
+ * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
+ TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
+ are defined before use.
+
+Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
+
+ * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
+ code generation only for Gnu assembler.
+
+2001-09-18 Catherine Moore <clm@redhat.com>
+
+ * config/stormy16 (LIB_SPEC): Remove -lnosys.
+
+2001-09-18 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_frame_set): New.
+ (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
+ a parallel frame-related expression with a set for each register.
+
+2001-09-18 Philip Blundell <philb@gnu.org>
+
+ * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
+ header files.
+
+2001-09-17 Dale Johannesen <dalej@apple.com>
+
+ * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
+ * config/rs6000/aix.h (FIXED_R2): Define.
+ * config/rs6000/darwin.h (FIXED_R2): Define.
+ * config/rs6000/sysv4.h (FIXED_R2): Define.
+
+2001-09-17 Jeff Sturm <jsturm@one-point.com>
+
+ * except.c (dw2_build_landing_pads): New local
+ clobbers_hard_regs. Emit an ASM_INPUT as a scheduling
+ barrier after clobbers. Fixes c++/4012.
+
+2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
+
+2001-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * dostage2, dostage3, listing, make-l2.com, makefile.vms,
+ patch-apollo-includes, vmsconfig.com: Remove obsolete files.
+
+2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
+ alloca/strcpy.
+
+2001-09-17 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (_cpp_lex_direct): New.
+ * cpplex.c (_cpp_lex_token): Update.
+ (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
+ and increment that pointer.
+ * cppmacro.c (alloc_expansion_token): New.
+ (lex_expansion_token): Lex macro expansion directly into
+ macro storage.
+
+2001-09-16 Brad Lucier <lucier@math.purdue.edu>
+
+ * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
+
+Sun Sep 16 21:59:46 CEST 2001 Jan hubicka <jh@suse.cz>
+
+ * basic-block.h (free_bb_for_insn): Declare.
+ * bb-reorder.c (label_for_bb): Use block_label.
+ (emit_jump_to_block_after): Remove.
+ (insert_intra_1): Do not update block_for_insn.
+ (insert_inter_bb_scope_notes): Likewise; update bb->end
+ * cfg.c (free_bb_for_insn): New.
+ (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
+ (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
+ (commit_one_edge_insertion): Likewise.
+ (commit_one_edge_insertion): Do not update BB boundary.
+ (commit_edge_insertions): Do not call compute_bb_for_insn.
+ * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
+ * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
+ (merge_blocks_move_successor_nojumps): Likewise.
+ (try_crossjump_to_edge): Do not update block_for_insn.
+ * combine.c (combine_instructions): Remove compute_bb_for_insn call.
+ * df.c (df_pattern_emit_later): Do not update BB boundary.
+ (df_jump_pattern_emit_after): Likewise.
+ (df_insn_move_before): Use emit_insn_before.
+ * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
+ properly.
+ (add_insn_after, add_insn_before, emit_insns_after): Update BB
+ boundaries and basic_block_for_insn.
+ (reorder_insns_nobb): Rename from reorder_insns.
+ (reorder_insns): New.
+ (emit_block_insn_before, emit_block_insn_after): Kill.
+ * flow.c (check_function_return_warnings): Do not call
+ compute_bb_for_insn; Do not free basic_block_for_insn.
+ (attempt_auto_inc): Do not update basic_block_for_insn.
+ * function.c (emit_return_into_block): Likewise;
+ do not update BB boundaries.
+ * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
+ (insert_insn_end_bb): Use emit_insn_before; Likewise.
+ (pre_insert_copy_insn): Likewise.
+ (update_ld_motion_notes): Likewise.
+ (insert_insn_start_bb): Likewise.
+ (replace_store_insn): Likewise.
+ * ifcvt.c (noce_process_if_block): Likewise.
+ (if_convert): Do not call compute_bb_for_insn.
+ * lcm.c (optimize_mode_switching): Do not update BB boundaries.
+ Use emit_insn_before and emit_insn_after.
+ * recog.c (split_all_insns): Do not update BB boundaries;
+ Do not call compute_bb_for_insn.
+ (peephole2_optimize): Do not update BB boundaries.
+ * reg-stack.c (emit_pop_insn): Use emit_insn_after and
+ emit_insn_before.
+ (emit_swap_insn): Likewise.
+ (convert_regs_1): Likewise.
+ * reload1.c (reload): Call compute_bb_for_insn.
+ * rtl.h (reorder_insns_nobb): Declare.
+ * ssa.c (rename_equivalent_regs): Use emit_insn_before.
+ * toplev.c (rest_of_compilation): Call free_bb_for_insn
+ at places CFG is invalidated; do not call compute_bb_for_insn.
+
+ * cfg.c (expunge_block): Invalidate BB structure.
+
+ * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
+ array.
+
+ * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
+
+2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (_cpp_lex_token): Update prototype.
+ * cpplex.c (_cpp_lex_token): New prototype.
+ * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
+ lex_macro_node, read_flag, do_pragma_poison): Update.
+ * cppmacro.c (cpp_get_token, parse_params,
+ lex_expansion_token): Update.
+
+2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cppmain.c (scan_translation_unit): Don't worry about
+ putting a space after hashes.
+ * cpplib.c (directive_diagnostics): New.
+ (_cpp_handle_directive): Update to use directive_diagnostics.
+ (run_directive): Don't toggle prevent_expansion.
+ (do_line): Backup in case of the line extension.
+ * cpplib.h (cpp_lexer_pos): Remove.
+ * cppmacro.c (_cpp_create_definition): Precede a leading #
+ with whitespace.
+
+2001-09-15 Richard Henderson <rth@redhat.com>
+
+ * c-typeck.c (comptypes): Handle zero-length arrays properly.
+
+2001-09-15 Roman Lechtchinsky <rl@cs.tu-berlin.de>
+
+ * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
+
+2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ PR preprocessor/3571
+ * tradcpp.c (handle_directive): Skip non-vertical space.
+
+2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cppmain.c (setup_callbacks): Set line callback only
+ if outputting preprocessed source.
+
+2001-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * collect2.c (main): Const-ification.
+ * gcc.c (translate_options, process_command): Use xstrdup in
+ lieu of xmalloc/strcpy.
+ (main): Use concat in lieu of xmalloc/strcpy/strcat.
+
+2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
+
+ * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
+ example.
+
+2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * scan-decls.c (scan_decls): Fix typo.
+
+2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
+ Split mlstring_pos into mls_line and mls_col.
+ * cppinit.c (cpp_create_reader): Initialize line to 1.
+ (cpp_destroy): Free tokenruns.
+ (push_include): Don't update lexer_pos.
+ * cpplex.c (unterminated, parse_string): Update.
+ (lex_token): Don't update lexer_pos, update.
+ * cpplib.c (if_stack): Save line instead of line + col.
+ (start_directive, _cpp_do__Pragma, do_else, do_elif,
+ push_conditional, _cpp_pop_buffer): Update.
+ * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
+ (_cpp_create_definition): Update.
+
+2001-09-15 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/abi64.h: Add support for MEABI.
+
+2001-09-15 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.md: Add unspec #2.
+ (reload_indi): Use.
+ (reload_outdi): Ditto.
+ (reload_outsi): Ditto.
+ (HILO_delay): New.
+
+2001-09-15 Eric Christopher <echristo@redhat.com>
+ Jason Eckhardt <jle@redhat.com>
+
+ * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
+ * config/mips/isa32-linux.h: New file.
+ * config/mips/isa3264.h: Ditto.
+ * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
+ * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
+ (output_block_mode): Support MEABI.
+ (function_arg): Ditto. Fix floating point arg passing.
+ (mips_va_start): Ditto.
+ (override_options): Add isas 32 and 64, meabi, mips32 and mips64
+ processors.
+ (mips_asm_file_start): Add new section to pass abi to gdb.
+ (function_arg_pass_by_reference): Support MEABI.
+ (mips_parse_cpu): Support mips32 and mips64 processors.
+ * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
+ TARGET_MIPS5KC. Support isa32 and isa64.
+ (processor_type): Add r4kc, r5kc, r20kc.
+ (GENERATE_MULT3_SI): New.
+ (GENERATE_MULT3_DI): Ditto.
+ (GENERATE_MULT3): Remove.
+ (ISA_HAS_64BIT_REGS): Add isa == 64.
+ (ISA_HAS_8CC): Add mips_isa = 32 and 64.
+ (ISA_HAS_MADD_MSUB): New.
+ (ISA_HAS_CLZ_CLO): Ditto.
+ (ISA_HAS_DCLZ_DCLO): Ditto.
+ (ABI_GAS_ASM_SPEC): New.
+ (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
+ (ASM_SPEC): Ditto.
+ (LINK_SPEC): Ditto.
+ (SUBTARGET_CC1_SPEC): Ditto.
+ (SUBTARGET_CPP_SIZE_SPEC): Ditto.
+ (PAD_VARARGS_DOWN): Support MEABI.
+ (HARD_REGNO_NREGS): Move to mips.c.
+ (ASM_OUTPUT_IDENT): Add #undef.
+ * config/mips/mips.md: Add r4kc, r5kc, r20kc.
+ (mulsi3): Use GENERATE_MULT3_SI.
+ (mulsi3_mult3): Ditto. Support mips32, mips64.
+ (mul_acc_si): Use ISA_HAS_MADD_MSUB.
+ (mul_sub_si): New pattern.
+ (unnamed splitters): New.
+ (muldi3): Use GENERATE_MULT3_DI.
+ (muldi3_internal2): Ditto.
+ (movdicc): Support mips32.
+ * config/mips/t-isa3264: New file.
+
+2001-09-15 Hans-Peter Nilsson <hp@axis.com>
+
+ * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
+ || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
+ || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
+
+ * reorg.c (fill_slots_from_thread): After call to
+ steal_delay_list_from_target, update own_thread as new_thread may
+ have branched.
+
+2001-09-14 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpperror.c (print_location): Take line and column, for
+ default positioning use the previously lexed token.
+ (_cpp_begin_message): Take line and column.
+ (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
+ cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
+ * cpphash.h (_cpp_begin_message): Update prototype.
+ * cppinit.c (push_include): Don't set output line.
+ * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
+ * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
+ (do_pragma): Kludge for front ends. Don't expand macros at all.
+ * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
+ (struct cpp_token): Remove output_line.
+ (struct cpp_callbacks): New member line_change.
+ * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
+ cpp_get_token): Preserve BOL flag.
+ (cpp_get_line): Remove.
+ (_cpp_backup_tokens): Remove useless abort().
+ * cppmain.c (cb_line_change): New.
+ (scan_translation_unit): Don't worry about starting new lines here.
+ * scan-decls.c (scan_decls): Update.
+ * c-lex.c (c_lex, init_c_lex): Update.
+ (cb_line_change, src_lineno): New.
+
+Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com)
+
+ * tree.c (append_random_chars): Generate the random
+ characters in a reproducable fashion.
+
+2001-09-14 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (internal_label_prefix): New.
+ (internal_label_prefix_len): New.
+ (override_options): Set them.
+ (local_symbolic_operand): New.
+ (legitimate_pic_address_disp_p): Use it.
+ (legitimize_pic_address): Likewise.
+
+2001-09-14 Marc Espie <espie@openbsd.org>
+
+ * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT
+ correctly.
+
+2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
+
+ * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
+ * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
+
+2001-09-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * rtlanal.c (subreg_regno_offset): Add semicolon to end of
+ invocation of SUBREG_REGNO_OFFSET.
+
+ * haifa-sched.c: Fix typo in FSF copyright statement.
+ * sched-deps.c: Fix typo in FSF copyright statement.
+ * sched-ebb.c: Fix typo in FSF copyright statement.
+ * sched-rgn.c: Fix typo in FSF copyright statement.
+ * sched-vis.c: Fix typo in FSF copyright statement.
+
+ * config.gcc: Move inclusion of arm elf specific header files
+ from the files themselves into the tm_file variable. Make
+ sure that elfos.h is included before target specific elf
+ headers.
+ * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
+ already defined.
+ (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
+ * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
+ ASM_OUTPUT_CASE_LABEL): Protect definition.
+ (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
+ not already defined.
+ * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
+ LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
+ Remove duplicate definition.
+ (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
+ (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
+ (RDATA_SECTION_FUNCTION): Remove redundant definition.
+ (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
+ Remove inclusion of arm/elf.h.
+ * config/arm/unknown-elf.h: as for conix-elf.h.
+ (STARTFILE_SPEC): Include crti.o and crtn.o.
+ * config/arm/linux-elf.h: as for conix-elf.h.
+ * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
+ * config/arm/strongarm-elf.h: Remove inclusion of
+ unknown-elf.h.
+ * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
+ * config/arm/unknown-elf-oabi.h: Remove inclusion of
+ unknown-elf.h and elf.h.
+ * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
+ * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
+ ASM_WEAKEN_LABEL): Remove redundant definition.
+ * config/arm/elf.h: Test for inclusion of elfos.h
+ (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
+ ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
+ SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
+ EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
+ redundant definition.
+ (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
+ ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
+ ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
+ * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
+ Add rules to build crti.o and crtn.o
+ * crti.asm: New file.
+ * crtn.asm: New file.
+
+2001-09-13 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-parse.in (_yylex): Use _cpp_backup_tokens.
+ * cpphash.h (struct tokenrun): Add prev.
+ (struct lexer_state): Remove bol.
+ (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
+ (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
+ : Remove.
+ * cppinit.c (cpp_create_reader): Don't set bol.
+ (cpp_destroy): Don't free lookaheads.
+ * cpplex.c (lex_directive): Remove.
+ (next_tokenrun): Update.
+ (_cpp_lex_token): Clean up logic.
+ (lex_token): Update to return a pointer to lexed token, since it
+ can move to the start of the buffer. Simpify newline handling.
+ * cpplib.c (SEEN_EOL): Update.
+ (skip_rest_of_line): Remove lookahead stuff.
+ (end_directive): Line numbers are already incremented. Revert
+ to start of lexed token buffer if we can.
+ (_cpp_handle_directive, do_pragma, do_pragma_dependency,
+ parse_answer): Use _cpp_backup_tokens.
+ (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
+ instead. Don't check for EOL.
+ (do_include_common, do_line, do_pragma_system_header): Use
+ skip_rest_of_line.
+ * cpplib.h (BOL, _cpp_backup_tokens): New.
+ * cppmacro.c (save_lookahead_token, take_lookahead_token,
+ alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
+ cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
+ (builtin_macro): Don't use cpp_get_line.
+ (cpp_get_line): Short term kludge.
+ (parse_arg): Handle directives in arguments here. Back up when
+ appropriate. Store EOF at end of argument list.
+ (funlike_invocation_p): Use _cpp_backup_tokens.
+ (push_arg_context): Account for EOF at end of list.
+ (cpp_get_token): Remove lookahead stuff. Update.
+
+2001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-parse.in (yyerror): Const-ification and/or static-ization.
+ * c-typeck.c (push_member_name): Likewise.
+ * collect2.c (main): Likewise.
+ * dbxout.c (dbxout_parms): Likewise.
+ * diagnostic.c (format_with_decl): Likewise.
+ * dwarf2out.c (output_ranges): Likewise.
+ * dwarfout.c (fundamental_type_code): Likewise.
+ * except.c (dw2_output_call_site_table): Likewise.
+ * gcc.c (do_spec_1): Likewise.
+ * genopinit.c (optabs): Likewise.
+ * objc/objc-act.c (synth_id_with_class_suffix, start_class,
+ gen_declaration_1, handle_impent): Likewise.
+ * protoize.c (default_include, in_system_include_dir, abspath):
+ Likewise.
+ * sched-vis.c (visualize_stall_cycles): Likewise.
+ * sdbout.c (plain_type_1, sdbout_end_function,
+ sdbout_end_epilogue): Likewise.
+ * varasm.c (decode_reg_name): Likewise.
+
+ * 1750a.c (mod_regno_adjust): Likewise.
+ * alpha.c (alpha_write_one_linkage,
+ unicosmk_output_default_externs): Likewise.
+ * arm.c (arm_condition_codes): Likewise.
+ * arm.h (arm_condition_codes): Likewise.
+ * avr.c (output_movsisf, encode_section_info): Likewise.
+ * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
+ Likewise.
+ * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
+ * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
+ * m88k.c (output_function_profiler): Likewise.
+ * mips.c (mips_output_conditional_branch): Likewise.
+ * ns32k.c (ns32k_out_reg_names): Likewise.
+ * ns32k.h (ns32k_out_reg_names): Likewise.
+ * pj.c (pj_output_rval): Likewise.
+ * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
+ * sparc.c (sparc_flat_function_prologue,
+ sparc_flat_function_epilogue): Likewise.
+
+2001-09-13 Markus Werle <numerical.simulation@web.de>
+ Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
+ Aachen University of Technology".
+
+2001-09-13 Andreas Schwab <schwab@suse.de>
+
+ * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
+ C99.
+
+2001-09-13 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (small_symbolic_operand): New.
+ (override_options): Set MASK_SMALL_DATA based on pic/PIC.
+ (some_operand, input_operand): Don't handle HIGH.
+ (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp.
+ (alpha_expand_mov): Likewise.
+ (print_operand) [H]: Just print HIGH symbol.
+ (print_operand_address): Handle small data.
+ * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
+ (TARGET_SWITCHES): Add -msmall-data/large-data.
+ (PIC_OFFSET_TABLE_REGNUM): New.
+ (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
+ (PREDICATE_COES): Update.
+ * config/alpha/alpha.md (adddi_er_high): New.
+ (adddi_er_low): Handle small data.
+ * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
+ prefer .sdata to .rodata.
+ (SELECT_RTX_SECTION): Likewise.
+
+2001-09-12 Josh Martin <josh.martin@abq.sc.philips.com>
+
+ * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
+ defining __size_t and leaving size_t undefined.
+
+2001-09-12 Diego Novillo <dnovillo@redhat.com>
+
+ * basic-block.h (expunge_block): Declare.
+ * cfg.c (expunge_block): Remove static declaration.
+
+2001-09-12 Richard Henderson <rth@redhat.com>
+
+ * integrate.c (copy_insn_list): Copy label name from
+ NOTE_INSN_DELETED_LABEL.
+
+2001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-common.c (c_tree_code_name): Const-ification.
+ * c-decl.c (c_decode_option): Likewise.
+ * c-typeck.c (warn_for_assignment): Likewise.
+ * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
+ Likewise.
+ * cppinit.c (output_deps): Likewise.
+ * dependence.c (dependence_string, direction_string): Likewise.
+ * dwarf2out.c (output_ranges): Likewise.
+ * fixinc/fixfixes.c (emit_gnu_type): Likewise.
+ * fixinc/gnu-regex.c (re_error_msgid): Likewise.
+ * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
+ standard_startfile_prefix, standard_startfile_prefix_1,
+ standard_startfile_prefix_2, tooldir_base_prefix,
+ standard_bindir_prefix, find_a_file): Likewise.
+ * genattrtab.c (make_length_attrs): Likewise.
+ * gencheck.c (tree_codes): Likewise.
+ * genemit.c (gen_split): Likewise.
+ * genrecog.c (special_mode_pred_table): Likewise.
+ * graph.c (graph_ext): Likewise.
+ * protoize (default_include): Likewise.
+ * reload.c (reload_when_needed_name): Likewise.
+ * sched-vis.c (visualize_stall_cycles): Likewise.
+ * tlink.c (recompile_files): Likewise.
+ * toplev.c (decode_g_option): Likewise.
+ * tradcpp.c (output_deps): Likewise.
+ * varasm.c (decode_reg_name): Likewise.
+
+ * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
+ Const-ification.
+ * arm.md: Likewise.
+ * avr.c (avr_regnames, encode_section_info): Likewise.
+ * c4x.c (float_reg_names): Likewise.
+ * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
+ * elfos.h (const_section): Likewise.
+ * i386.c (ix86_comp_type_attributes): Likewise.
+ * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
+ * ia64/aix.h (UNIQUE_SECTION): Likewise.
+ * ia64.c (type_names): Likewise.
+ * m68hc11.c (reg_class_names): Likewise.
+ * m88k.c (m_options): Likewise.
+ * mips.c (mips_output_conditional_branch, mips_unique_section):
+ Likewise.
+ * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
+ ultra_code_names): Likewise.
+ * sparc.h (OVERRIDE_OPTIONS): Likewise.
+
+2001-09-12 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.in (gcc_cv_as_shf_merge): Fix a typo.
+ Use --fatal-warnings option for gas.
+ * configure: Rebuilt.
+
+2001-09-12 Roman Lechtchinsky <rl@cs.tu-berlin.de>
+
+ * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
+
+2001-09-11 Jim Wilson <wilson@redhat.com>
+
+ * alias.c (clear_reg_alias_info): Only handle pseudo registers.
+
+2001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
+
+ * builtins.c (c_strlen): Treat an offset too large for a
+ HOST_WIDE_INT as out of range.
+
+Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
+ (EDGE_CRITICAL_P): New predicate.
+ * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
+ handling.
+ (insert_insn_on_edge): Use EDGE_CRITICAL_P.
+ (dump_edge_info): Remove "crit".
+ * cfganal.c (mark_critical_edges): Kill.
+ * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
+ * cfgcleanup.c (cleanup_cfg): Likewise.
+ * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
+ (find_spanning_tree): Likewise.
+ * reg-stack.c (convert_regs_1): Likewise.
+ * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
+
+ * basic-block.h (create_basic_block_structure): New.
+ (create_basic_block): Update prototype.
+ (force_nonfallthru): New.
+ * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
+ * cfg.c (create_basic_block_structure): Rename from create_basic_block;
+ handle updating of block_for_insn, creating of empty BBs and BBs at
+ the end of INSN chain.
+ (create_basic_block): New function.
+ (split_block): Use create_basic_block.
+ (force_nonfallthru_and_redirect): Break out from ...; cleanup
+ (redirect_edge_and_branch_force): ... here.
+ (force_nonfallthru): New.
+ (split_edge): Rewrite to use force_nonfallthru and create_block.
+ * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
+ (find_basic_blocks): Free basic_block_for_insn.
+ * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
+
+ * cfg.c: Fix formating.
+ * cfgcleanup.c: Fix formating.
+ (merge_blocks, tail_recursion_label_p): Return bool.
+ (merge_blocks_move_predecessor_nojumps,
+ merge_blocks_move_successor_nojumps): Return void.
+
+2001-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.in: Check whether assembler supports section merging.
+ * config.in: Rebuilt.
+ * configure: Rebuilt.
+ * varasm.c (variable_section, output_constant_pool): Pass alignment
+ to SELECT_SECTION and SELECT_RTX_SECTION.
+ (mergeable_string_section): New.
+ (mergeable_constant_section): New.
+ (default_elf_asm_named_section): Output SECTION_MERGE and
+ SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
+ * output.h (mergeable_string_section): New.
+ (mergeable_constant_section): New.
+ (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
+ * toplev.c (flag_merge_constants): New.
+ (f_options): Add -fmerge-constants and -fmerge-all-constants
+ options.
+ (toplev_main): Default to -fno-merge-constants if not optimizing.
+ * flags.h (flag_merge_constants): Add extern.
+ * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
+ * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
+ argument.
+ * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
+ Define if assembler has working .subsection -1 support.
+ (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
+ Put constant into special SHF_MERGE sections if the linker should
+ attempt to merge duplicates.
+ * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
+ macro argument.
+ Put constant into special SHF_MERGE sections if the linker should
+ attempt to merge duplicates.
+ * config/alpha/elf.h: Likewise.
+ (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
+ has working .subsection -1 support.
+ * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
+ SELECT_SECTION.
+ * config/svr3.h: Likewise.
+ * config/darwin.h: Likewise.
+ * config/arm/aof.h: Likewise.
+ * config/arm/linux-elf.h: Likewise.
+ * config/avr/avr.h: Likewise.
+ * config/c4x/c4x.h: Likewise.
+ * config/d30v/d30v.h: Likewise.
+ * config/i386/dgux.h: Likewise.
+ * config/i386/osfrose.h: Likewise.
+ * config/i386/sco5.h: Likewise.
+ * config/i386/svr3gas.h: Likewise.
+ * config/ia64/aix.h: Likewise.
+ * config/m32r/m32r.h: Likewise.
+ * config/m68k/m68k.h: Likewise.
+ * config/m88k/dgux.h: Likewise.
+ * config/m88k/m88k.h: Likewise.
+ * config/mcore/mcore-pe.h: Likewise.
+ * config/mips/mips.h: Likewise.
+ * config/pa/pa.h: Likewise.
+ * config/pa/pa-linux.h: Likewise.
+ * config/romp/romp.h: Likewise.
+ * config/rs6000/sysv4.h: Likewise.
+ * config/rs6000/xcoff.h: Likewise.
+ * config/s390/linux.h: Likewise.
+ * config/sparc/sparc.h: Likewise.
+ * config/sparc/sysv4.h: Likewise.
+ * config/stormy16/stormy16.h: Likewise.
+ * config/v850/v850.h: Likewise.
+ * config/vax/vms.h: Likewise.
+ * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
+ and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
+ * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
+ default_elf_asm_named_section for SHF_MERGE sections.
+
+Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
+ is OK.
+
+2001-09-11 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (split_specs_attrs): Allow for empty attributes with
+ empty TREE_PURPOSE. Fixes PR c/4294.
+
+Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (cached_make_edge, make_single_succ): New.
+ (make_edge): Remove first parameter.
+ * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
+ * cfg.c (cached_make_edge): Rename from make_edge; return newly
+ created edge; use obstack allocation.
+ (make_edge, make_single_succ_edge): New.
+ (first_removed_edge): New static variable.
+ (init_flow): Initialize first_removed_edge and n_edges.
+ (clear_edges): Use remove_edge.
+ (flow_delete_block): Likewise.
+ (remove_edge): Add removed edges to the removed edges list.
+ (split_block, redirect_edge_and_branch_force, split_edge):
+ Use make_edge.
+ * cfganal.c (flow_call_edges_add): Updaet make_edge call.
+ (add_noreturn_fake_exit_edges): Likewise.
+ (connect_infinite_loops_to_exit): Liekwise.
+ * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
+ Use cached_make_edge.
+ * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
+ * profile.c (branch_prob): Update make_edge call.
+ * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
+
+2001-09-11 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c: Tidy formatting.
+ (local_symbolic_operand): Verify mode.
+ (alpha_sa_mask): Ignore unicos for eh_return.
+ (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
+ * config/alpha/alpha.md (umk divsi patterns): Remove.
+ (extendsfdf2): Remove unicos check.
+ (tablejump): Merge vms and unicos code; always use direct set
+ plus label_ref use.
+
+2001-09-11 Roman Lechtchinsky <rl@cs.tu-berlin.de>
+
+ * config.gcc (alpha*-*-unicosmk*): New target.
+
+ * config/alpha/alpha-protos.h (symbolic_operand,
+ unicosmk_add_call_info_word, unicosmk_add_extern,
+ unicosmk_defer_case_vector, unicosmk_unique_section,
+ unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
+ unicosmk_asm_file_start, unicosmk_asm_file_end,
+ unicosmk_output_common): Declare.
+
+ * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
+ direct_return, function_arg, alpha_va_start, alpha_va_arg,
+ alpha_does_function_need_gp, alpha_end_function): Support Cray
+ Unicos/Mk.
+ (alpha_init_machine_status, alpha_mark_machine_status,
+ alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
+ unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
+ unicosmk_asm_named_section, unicosmk_insert_attributes,
+ unicosmk_section_type_flags, symbolic_operand,
+ unicosmk_output_module_name, unicosmk_output_default_externs,
+ unicosmk_output_dex, unicosmk_output_externs,
+ unicosmk_output_addr_vec, unicosmk_ssib_name,
+ unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
+ unicosmk_asm_file_end, unicosmk_output_common,
+ unicosmk_section_type_flags, unicosmk_unique_section,
+ unicosmk_add_call_info_word, unicosmk_text_section,
+ unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
+ unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
+ unicosmk_dex_count, unicosmk_special_name): New.
+ (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
+ TARGET_ABI_UNICOSMK.
+ (get_aligned_mem, alpha_expand_unaligned_load,
+ alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
+ alpha_expand_unaligned_store_words): Support big-endian mode.
+ (print_operand): Likewise. New format specifier 't'. Use
+ TARGET_AS_SLASH_BEFORE_SUFFIX.
+ (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
+ (alpha_pv_save_size): Update with above change.
+ (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
+ alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
+ Unicos/Mk.
+
+ * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
+ (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
+ (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
+ (EXTRA_CONSTRAINT): New constraint 'U'.
+ (PREDICATE_CODES): Add symbolic_operand.
+
+ * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
+ UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
+ (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
+ (integer division and modulus patterns): Split in default and
+ Unicos/Mk versions.
+ (*divmodsi_internal, *divmoddi_internal): Disable for
+ TARGET_ABI_UNICOSMK.
+ (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
+ little-endian and big-endian versions.
+ (ext, ins, msk): Likewise.
+ (extv, extzv, insv): Support big-endian mode.
+ (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
+ (call_umk, call_value_umk, *call_umk, tablejump_umk,
+ *tablejump_umk_internal, *call_value_umk): New.
+ (*movdi_nofix): Add pattern for loading an address into a register on
+ TARGET_ABI_UNICOSMK.
+ (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
+ (umk_mismatch_args, arg_home_umk): New.
+ (various insns): Don't use mov, fmov, nop, fnop and unop.
+ (realign): Support TARGET_ABI_UNICOSMK.
+
+ * config/alpha/unicosmk.h: New file.
+ * config/alpha/t-unicosmk: New file.
+
+ * fixinc/inclhack.def (unicosmk_restrict): New.
+ * fixinc/fixincl.x: Regenerate.
+
+ * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
+ (wchar_t): Check for and define __WCHAR_T__.
+
+2001-09-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * combine.c (simplify_shift_const): Treat shifts by the mode
+ size as undefined.
+
+2001-09-11 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (struct tokenrun): New.
+ (struct cpp_context): New member bol.
+ (struct cpp_reader): New members.
+ (_cpp_init_tokenrun): New.
+ * cppinit.c (cpp_create_reader): Set up the token runs.
+ * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
+ (lex_token): New internalised version of _cpp_lex_token. Don't
+ handle directives or the multiple include optimization here any
+ more. Simply lex a token.
+ * cpplib.c (run_directive): Clear bol.
+ (_cpp_pop_buffer): Set bol.
+ * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
+ arguments.
-Fri Aug 21 16:47:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-09-11 Michael Meissner <meissner@redhat.com>
+
+ * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
+ give an error if the user uses -mfp32.
+ (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
+ default options.
+ (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
+ floating point register size.
+ (EXTRA_SPECS): Add CPP_FPR_SPEC.
+
+ * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
+ HOST_WIDE_INT_PRINT_DEC to properly print the result of
+ int_size_in_bytes.
+ * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
+ * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
+
+2001-09-11 Hans-Peter Nilsson <hp@axis.com>
+
+ * dbxout.c (dbxout_parms): Fix typo in comment.
+ * unroll.c (loop_find_equiv_value): Ditto.
+ * toplev.c (rest_of_compilation): Ditto.
+ * loop.c (scan_loop): Ditto.
+ * dwarf2out.c (struct dw_fde_struct): Ditto.
+
+2001-09-10 Zack Weinberg <zackw@panix.com>
+
+ * cpplex.c (parse_identifier): Fast-path optimize. Avoid
+ copying identifier when we're just going to throw it away.
+ (parse_identifier_slow): New routine to handle abnormal cases.
+ (_cpp_lex_token): Update call site.
+
+ * hashtable.c (ht_lookup): Don't assume that the string we've
+ been given is NUL-terminated.
+ * system.h: #define __builtin_expect(a, b) to (a) if not
+ GCC >=3.0.
+
+2001-09-10 Michael Meissner <meissner@redhat.com>
+
+ * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
+ binutils, gdb.
+
+2001-09-10 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
+
+Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * builtins.c (c_getstr): Correct thinko in last change and further
+ cleanup.
+
+2001-09-10 Tim Freeman <tim@fungibole.com>
+
+ * dwarf2out.c (incomplete_types, decl_scope_table): Make them
+ into varray's and register them as roots with the garbage
+ collector so they are not collected too soon.
+
+Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
+ New.
+ * basic-block.h (flow_obstack, label_value_list,
+ tail_recursion_label_list): Declare
+ (tidy_fallthru_edges): Declare.
+ (expunge_block, last_loop_beg_note): Delete.
+ (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
+ * cfg.c: New file
+ (basic_block_for_insn, label_value_list): Move from flow.c; make global.
+ (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
+ init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
+ flow_delete_insn, flow_delete_insn_chain, create_basic_block,
+ expunge_block, flow_delete_block, compute_bb_for_insn,
+ update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
+ make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
+ redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
+ try_redirect_by_replacing_jump, last_loop_beg_note,
+ redirect_edge_and_branch, redirect_edge_and_branch_force,
+ tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
+ split_edge, insert_insn_on_edge, commit_one_edge_insertion,
+ commit_edge_insertions, dump_flow_info, debug_flow_info,
+ dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
+ verify_flow_info, purge_dead_edges, purge_all_dead_edges):
+ Move here from flow.c
+ * cfganal.c: New file.
+ (forwarder_block_p, can_fallthru, mark_critical_edges,
+ mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
+ find_unreachable_blocks, create_edge_list, free_edge_list,
+ print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
+ flow_edge_list_print, remove_fake_successors, remove_fake_edges,
+ add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
+ flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
+ flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
+ flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
+ Move here from flow.c
+ * cfgbuild.c: New file
+ (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
+ make_edges, find_basic_blocks_1, find_basic_blocks,
+ find_sub_basic_blocks): Move here from flow.c
+ * cfgcleanup.c: New file.
+ (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
+ merge_blocks_move_predecessor_nojumps,
+ merge_blocks_move_successor_nojumps, merge_blocks,
+ flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
+ try_crossjump_bb, try_optimize_cfg): Move here from flow.c
+ (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
+ if succeeded.
+ * cfgloop.c: New file
+ (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
+ flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
+ flow_loop_exit_edges_find, flow_loop_nodes_find,
+ flow_loop_pre_header_scan, flow_loop_pre_header_find,
+ flow_loop_tree_node_add, flow_loops_tree_build,
+ flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
+ flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
+ Move here from flow.c
+ * flow.c: Remove everything moved elsewhere
+ * output.h (cleanup_cfg): Return bool.
+
+ * bb-reorder.c (reorder_block_def): Remove 'index'.
+ (insert_intra_1): Add argument BB, set block for new note.
+ (make_reorder_chain): Do not depdent on BB indexes.
+ (make_reorder_chain_1): Do not use BB indexes.
+ (label_for_bb): Likewise; set BB for new insn.
+ (emit_jump_to_block_after): Likewise.
+ (fixup_reorder_chain): Sanity check that all basic blocks
+ are chained; verify newly created insn chain; remove
+ undocnitional jump simplifying; Do not use BB indexes;
+ properly initialize count and frequency information;
+ dump reordered sequence.
+ (insert_intra_bb_scope_notes): update call of insert_intra_1.
+ (insert_inter_bb_scope_notes): Set block for new insn.
+ (reorder_basic_blocks): Dump flow info before reoredering.
+
+Mon Sep 10 06:47:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * alias.c (clear_reg_alias_info): Use K&R format definition.
+ Avoid unsigned warning.
+ * builtins.c: Use "unsigned int", not "unsigned".
+ (target_char_cast): Use host_integerp and tree_low_cst.
+ (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
+ (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
+ (c_getstr): Likewise.
+ (std_expand_builtin_va_arg): Use int_size_in_bytes.
+ (builtin_memcpy_read_str): Avoid unsigned warning.
+ (expand_builtin_memcpy): Alignments are unsigned.
+ (expand_builtin_strncpy, expand_builtin_memset): Likewise.
+ (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
+ * predict.c (expensive_function_p): LIMIT now unsigned.
+ * resource.c (mark_target_live_regs): Make some vars unsigned.
+ * sdbout.c: Use "unsigned int", not "unsigned".
+ (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
+ (sdbout_source_line): Likewise.
+ (sdbout_record_type_name): Remove "const" for NAME declaration.
+ * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
+
+2001-09-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * calls.c (store_one_arg): Expand comment.
+
+2001-09-10 Roman Lechtchinsky <rl@cs.tu-berlin.de>
+
+ * calls.c (store_one_arg): Make sure that the entire argument is
+ pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
+
+2001-09-09 Richard Henderson <rth@redhat.com>
+
+ * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
+
+Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * loop.c (combine_givs): Fix computing of benefit once giv is combined.
+
+2001-09-09 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_next_sequence_number): New.
+ (alpha_this_literal_sequence_number): New.
+ (alpha_this_gpdisp_sequence_number): New.
+ (some_operand, input_operand): Add HIGH.
+ (local_symbolic_operand): New.
+ (alpha_encode_section_info): New.
+ (alpha_legitimate_address_p): Allow LO_SUM.
+ (alpha_legitimize_address): Generate HIGH+LO_SUM.
+ (alpha_expand_mov): Likewise.
+ (secondary_reload_class): Check memory_operand not general_operand
+ for FP_REGS test.
+ (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
+ (alpha_expand_unaligned_store): Likewise.
+ (alpha_expand_unaligned_load_words): Likewise.
+ (alpha_expand_unaligned_store_words): Likewise.
+ (alpha_expand_block_clear): Likewise.
+ (print_operand): Handle %#, %*, %H.
+ (print_operand_address): Handle LO_SUM.
+ (find_lo_sum): New.
+ (alpha_does_function_need_gp): Use it.
+ (alpha_expand_block_move): Fix signed compare warnings.
+ (alpha_sa_mask, alpha_align_insns): Likewise.
+ * config/alpha/alpha-protos.h: Update.
+ * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
+ (MASK_EXPLICIT_RELOCS): New.
+ (TARGET_SWITCHES): Add -mexplicit-relocs.
+ (EXTRA_CONSTRAINT): Add 'T'.
+ (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
+ (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
+ (ENCODE_SECTION_INFO): Out line.
+ (REDO_SECTION_INFO_P): New.
+ (STRIP_NAME_ENCODING): New.
+ (ASM_OUTPUT_LABELREF): New.
+ (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
+ (PREDICATE_CODES): Update.
+ * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
+ call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
+ movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
+ builtin_setjmp_receiver_er, exception_receiver_1_er,
+ call_value_osf_1_er): New patterns.
+ (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
+ (movqi, movhi, movsi): Add explicit $31 base register to lda.
+ * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
+ (FINAL_PRESCAN_INSN): New.
+
+Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
+
+2001-09-08 Andreas Jaeger <aj@suse.de>
+
+ * i386.h (TARGET_SWITCHES): Fix description.
+
+2001-09-07 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.c (num_insns_constant): Compute number of instructions
+ more accurately.
+
+ * doc/install.texi: Explain AIX exception handling work-around.
+ Update URL for AIX fixes.
+
+2001-09-07 Jim Wilson <wilson@redhat.com>
+
+ * alias.c (clear_reg_alias_info): New.
+ * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
+ * rtl.h (clear_reg_alias_info): Declare.
+
+2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
+
+ * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
+ available.
+ (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
+ (m16m,edivm,emulm): Change declaration to match definition.
+
+2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
+
+ * reload.c (push_reload): Check for subreg_lowpart_p instead of
+ SUBREG_BYTE being 0 when determining if the inner part of a subreg
+ can be reloaded.
- * sparc.c (print_operand): Use output_operand_error for unknown code.
+2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
- * c-typeck.c (build_conditional_expr): Use TREE_READONLY and
- TREE_THIS_VOLATILE, not TYPE_...
+ * c-common.c (signed_or_unsigned_type): Handle machine mode types
+ which have no corresponding C type.
+ * fold_const.c (target_isinf,target_isnan,target_negative): Update
+ the representation of 64-bit doubles to work with 64-bit ints.
+
+2001-09-07 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/mips/mips.c (override_options): Do not override ISA when ABI
+ specified if MIPS_CPU_STRING_DEFAULT was specified.
+
+2001-09-07 Richard Henderson <rth@redhat.com>
+
+ * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
+ (express_from_1): Wrap lines.
+ * rtlanal.c (commutative_operand_precedence): Rename from
+ operand_preference; export.
+ * rtl.h: Declare it.
+ * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
+ (simplify_binary_operation): Invoke simplify_plus_minus on
+ (CONST (PLUS ...)) as well.
+ (struct simplify_plus_minus_op_data): New.
+ (simplify_plus_minus_op_data_cmp): New.
+ (simplify_plus_minus): Use them. Avoid infinite recursion with
+ simplify_binary_operation wrt CONST.
+
+Fri Sep 7 11:52:30 2001 Kazu Hirata <kazu@hxi.com>
+
+ * h8300-protos.h (general_operand_dst_push): Remove.
+ * h8300.c (general_operand_dst_push): Likewise.
+ * h8300.h (OK_FOR_T): Likewise.
+ (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
+ * h8300.md (pushqi_h8300): New.
+ (pushqi_h8300hs): Likewise.
+ (pushqi): Likewise.
+ (pushhi_h8300): Likewise.
+ (pushhi_h8300hs): Likewise.
+ (pushhi): Likewise.
-Fri Aug 21 14:02:20 1992 James Van Artsdalen (james at bigtex.cactus.org)
+Fri Sep 7 12:56:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * reload.c (find_dummy_reload): Restore original RTX instead of
- passed IN rtx.
+ * genattrtab.c (attr_printf): First arg is unsigned.
+ Clean up formatting of callers.
-Fri Aug 21 07:53:12 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-09-06 Aldy Hernandez <aldyh@redhat.com>
- * optabs.c (expand_binop): If, e.g., mulqi3 doesn't exist, try
- mulqihi3.
+ * config/mips/mips.c (override_options): Allow abi32 with 64 bit
+ registers.
- * rs6000.h (FUNCTION_ARG): Don't make an EXPR_LIST if making a libcall.
+2001-09-07 Andreas Jaeger <aj@suse.de>
- * combine.c (subst): Move up test for too many restarts.
- If we restart, clear OP0_MODE since we don't know it.
+ * i386.h (TARGET_SWITCHES): Fix descriptions.
-Fri Aug 21 02:11:43 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
- * emit-rtl.c (emit_insns_after): New function.
+ * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
-Fri Aug 21 01:53:04 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
+2001-09-06 Ira Ruben <ira@apple.com>
- * pa.md (call_value+1): For non-dynamic calls, use the "call"
- attribute, set length to 1, and fix output template to work
- properly with delay slots.
+ Remove OP_IDENTIFIER.
+ * tree.def (OP_IDENTIFIER): Remove.
+ * tree.c (tree_node_kind enum): Remove op_id_kind.
+ (tree_node_kind_names): Remove "op_identifiers".
+ (make_node): Remove OP_IDENTIFIER test.
+ (build_op_identifier): Removed because it isn't being used.
+ * print-tree.c (print_node): Remove OP_IDENTIFIER case.
+ * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
- * pa.md (address and use_call_clobbered attributes): Deleted,
- these attributes are useless. All references deleted.
- (call define delay): Use "in_branch_delay" as the condition since
- "call" delay slots and unconditional "branch" delay slots allow the
- same type of insns.
- (in_call_delay conditional): Deleted.
- (branch define delay): Do not define an annul-if-true delay slot.
- It is useless for an unconditional branch.
- (all delay branch conditionals): Make sure "call", "dyncall", "multi",
- and "milli" insns are explicitly disallowed in delay slots.
+2001-09-06 Richard Henderson <rth@redhat.com>
- * pa.c (output_mul_insn): Delete nop after branch in template,
- conditionally emit a nop if the delay slot was not filled. (via %#)
+ * simplify-rtx.c (simplify_binary_operation): Revert last change.
- * pa.c (output_function_prologue): Handle profiling in a function
- without a frame pointer.
+2001-09-06 Richard Henderson <rth@redhat.com>
-Thu Aug 20 16:16:40 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * simplify-rtx.c (simplify_binary_operation): Simplify contents
+ of CONST.
- * va-m88k.h (__INT_VARARGS_H): Define this to avoid trouble on DG/UX.
+2001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-Thu Aug 20 11:07:26 1992 Michael Meissner (meissner@osf.org)
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
+ number used for CR register.
- * final.c: Move include of stdio.h before output.h.
+Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
+ Joern Rennecke (amylaar@cygnus.com)
-Thu Aug 20 01:08:55 1992 Pat Rankin (rankin at eql.caltech.edu)
+ * h8300-protos.h (h8300_return_addr_rtx): New prototype.
+ * h8300.c (initial_offset): Handle offset between RP and FP.
+ (h8300_return_addr_rtx): New function.
+ * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
+ return register.
+ (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
+ (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
+ (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
+ (CAN_ELIMINATE, REGISTER_NAMES):
+ (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
- Support for bootstrapping cpp & cc1 with VAX C under VMS.
+2001-09-06 Nathan Sidwell <nathan@codesourcery.com>
- * xm-vax-vms.h (USE_C_ALLOCA,NO_STAB_H): Define for VAXC.
- (bcopy,bzero,bcmp,index,rindex): Define as ANSI/SYSV counterparts.
- (QSORT_WORKAROUND, qsort): New macros, for avoiding buggy
- qsort in VAXCRTL library.
- (check_for_full_enumeration_handling,...): Use macros to shorten
- several external names which are longer than 31 characters to
- avoid warnings about truncation.
- (unlink): Remove redundant definition.
- * vax.c (not_qsort): New function.
- * cccp.c (toplevel: create_definition): Move forward declaration
- past the definition of struct macrodef.
- (strncat): New function.
- (bcopy, bzero, bcmp): Remove #if VMS code--always use inline C loops.
- * genrecog.c, reload1.c: Compare enums (preds. codes, mem_mode)
- explicitly to 0 in conditionals to work-around a VAXC bug that
- disallows enum as arguments to && and || operators.
- * getpwd.c (getpwd): Add alternative defn for VMS.
- * toplev.c (environ): Make declaration conditional.
- (main: -g debugging setup): Get rid of \ in #if condition.
- * make-cccp.com,make-cc1.com (CC,CFLAGS,LIBS): Add commented command
- variants for bootstrapping gcc-cpp and gcc-cc1 with VAXC.
- * make-cccp.com (alloca): Build alloca.obj from alloca.c if LIBS needs it.
+ Remove TYPE_NONCOPIED_PARTS.
+ * tree.h (TYPE_NONCOPIED_PARTS): Remove.
+ (struct tree_type): Remove noncopied_parts.
+ * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
+ * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
+ (fixed_type_p): Remove.
+ (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
+ (expand_expr, MODIFY_EXPR): Likewise.
+ * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
+ * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
- Not yet installed:
+2001-09-06 Alan Modra <amodra@bigpond.net.au>
- * machmode.h (FILE_TYPE): For VMS, make sure FILE_TYPE is not
- defined as a macro, so that VAXC's <stdio.h> won't break tree.h.
- * genemit.c (gen_exp): #if VAXC, output a newline in front of
- gen_rtx calls, to prevent excessively long lines in insn-emit.c.
+ * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
+ compiler warnings.
+ (mask64_operand): Likewise.
+ (includes_rldic_lshift_p): Likewise.
+ (includes_rldicr_lshift_p): Likewise.
-Thu Aug 20 11:32:18 1992 Michael Tiemann (tiemann@mole.gnu.ai.mit.edu)
+2001-09-05 Ziemowit Laski <zlaski@apple.com>
- * cp-tree.h: Fix incorrect comment about "$this" needing to
- be lexicographically less than any other identifier.
+ * objc/objc-act.c (build_message_expr): If a class method cannot
+ be found, do not issue a warning if a corresponding instance
+ method exists in the root class.
-Thu Aug 20 05:37:00 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-09-05 Richard Henderson <rth@redhat.com>
- * a29k.md (load_multiple): Operand 2 should be a MATCH_OPERAND.
- (store_multiple_{,no_}bug): Likewise.
+ * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
- * reorg.c (mark_set_resources): Fix two bugs in last change.
+2001-09-05 Zack Weinberg <zack@codesourcery.com>
- * expr.c (init_expr_once): Set direct_load and direct_store if SOME
- hard register can be loaded or stored; not just if the first one
- we pick can be.
+ * function.c (ggc_mark_struct_function): Mark f->outer.
+ * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
+ * integrate.c (output_inline_function): ... not here.
-Thu Aug 20 01:40:43 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka <jh@suse.cz>
- * combine.c, emit-rtl.c, final.c, gcc.c, genattrtab.c, mips-tfile.c:
- Put include of stdio.h after GCC header files
- (for i860-stardent-sysv4).
- * tree.c: Likewise.
+ * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
- * fixincludes (stdio.h): Rename va_list to __va_list__ to coexist
- with gvarargs.h.
+ * i386.c (size_cost): New static variable.
+ (override_function): Use size_cost when -Os is specified.
-Wed Aug 19 21:06:49 1992 Jim Wilson (wilson@cygnus.com)
+ * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
+ properly; Use current_function_calls_eh_return.
+ (ix86_expand_epilogue): Avoid dummy optimize_size tests;
+ use leave to avoid dependency chain.
- * cccp.c (finclude): Increment indepth before calling
- trigraph_pcp, so that warning uses the correct file name.
+ * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
+ get BB loop_depth instead of computing it from LOOP notes.
-Wed Aug 19 07:07:41 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
- * combine.c (force_to_mode): Add missing test of and_optab.
+2001-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
- * genconfig.c (have_cmove_flag): New variable.
- (walk_insn_part): Add new parm NON_PC_SET_SRC; all callers change.
- Look for IF_THEN_ELSE in a SET_SRC that isn't setting PC and
- set have_cmove_flag if so.
- (main): Define HAVE_conditional_move if have_cmove_flag is non-zero.
- * combine.c (subst, case AND): Only make IF_THEN_ELSE if conditional
- moves exist.
+ * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ UNALIGNED_DOUBLE_INT_ASM_OP): Define
- * cse.c (find_comparison_args): Look for comparison operations
- if the second arg is 0 in any mode.
- (record_jump_cond): Don't make classes equivalent for floating-point
- equality comparison.
+2001-09-05 Jeffrey A Law (law@cygnus.com)
+ Jason Merrill (jason@redhat.com)
- * local-alloc.c (alloc_qty_for_scratch, block_alloc): Provide
- alternate code in some cases when REGISTER_CONSTRAINTS is not
- defined.
- (requires_inout_p): Only used when REGISTER_CONSTRAINTS is defined.
+ * stor-layout.c (layout_type): Complain if an array's size can
+ not be represented in a size_t.
- * reorg.c (mark_set_resources): Add new parm IN_DEST; add callers
- changed.
- Rework to scan an entire insn to look for auto-inc operations.
+ * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
- * unroll.c (copy_loop_body): Add missing declaration of EXIT_LABEL
- parameter.
+2001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
- * function.c (instantiate_decl): New function.
- (instantiate_decls{,_1}): Call it.
+ * gcc.c: (process_command) Add parentheses around assignment
+ used as truth value.
- * combine.c (simplify_comparison): Add a few more cases where we can
- do the comparison in a wider mode.
+2001-09-05 Richard Sandiford <rsandifo@redhat.com>
- * combine.c (distribute_notes, REG_EQUAL): Don't put back a note
- with a non-constant expression since it may no longer be valid.
+ * config/mips/mips.c (save_restore_insns): Don't mark any register
+ save slots as unchanging if current_function_calls_eh_return.
-Tue Aug 18 23:07:33 1992 Mike Stump (mrs@cygnus.com)
+2001-09-05 Richard Henderson <rth@redhat.com>
- * expr.c (expand_expr): The first expansion of a TARGET_EXPR
- is marked by DECL_RTL (slot) being filled in AND TREE_OPERAND
- (exp, 1) being wiped-out with a NULL_TREE, not just the
- DECL_RTL (slot) being filled in.
+ * config/alpha/alpha.c (alpha_legitimate_address_p): New.
+ * config/alpha/alpha-protos.h: Declare it.
+ * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
+ (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
+ (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
+ (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
+ (REG_OK_FOR_BASE_P): Select one of the above.
-Tue Aug 18 00:07:23 1992 Dennis P. Glatting (dglattin@trirex.com)
+2001-09-05 Richard Sandiford <rsandifo@redhat.com>
- * objc-actions.c
- (build_selector_translation_table): NULL-terminate the
- selector list. Mark _OBJC_SELECTOR_REFERENCES_decl as static,
- not extern.
+ * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
+ (crti.o): Prefix name of object file with $(T).
+ (crtn.o): Likewise.
-Tue Aug 18 21:38:46 1992 Mike Stump (mrs@hal)
+2001-09-05 David S. Miller <davem@redhat.com>
- * xcoffout.c (assign_type_number): Skip decls with no name.
+ * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
+ * config/sparc/linux64.h: Likewise.
- * expr.c (expand_expr): When expanding TARGET_EXPRs, make sure
- that they are only expanded once, after the first expansion,
- the rtl can be used without further expansions.
+2001-09-05 Andreas Jaeger <aj@suse.de>
-Tue Aug 18 12:58:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * doc/invoke.texi (i386 Options): -mwide-multiply is not
+ available anymore, remove the documentation.
+ (i386 Options): Fix typo, cleanup index entries.
- * x-i386sco (X_CFLAGS): Defined.
+ * prefix.c (concat): Remove, we can use the version from liberty.
- * stmt.c (expand_return): Call emit_queue in ignore-the-value case.
- (expand_end_bindings): Check DECL_IN_SYSTEM_HEADER for unused warnings.
+2001-09-05 Richard Henderson <rth@redhat.com>
- * combine.c (simplify_comparison):
- Rearrange conditional in SUBREG case.
+ * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
+ New functions split out of md file expanders.
+ * config/alpha/alpha-protos.h: Declare them.
+ * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
-Tue Aug 18 06:49:43 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-09-05 Neil Booth <neil@daikokuya.demon.co.uk>
- * cccp.c (HOST_WIDE_INT): Copy definition from machmode.h.
-
- * c-typeck.c (parser_build_binary_op): Replace the assignment of CLASS.
+ * cppmacro.c (funlike_invocation_p): No need to restore context.
- * configure (Makefile edits): Make the edits independent.
- * Makefile.in (sed marker): Use the order {target, host, cross-make}.
+2001-09-04 Richard Henderson <rth@redhat.com>
-Tue Aug 18 00:15:12 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * reload.c (push_reload): Export.
+ * reload.h (push_reload): Declare it.
- * c-typeck.c (parser_build_binary_op):
- For Z<Y<Z warning, test class of CODE; don't use TREE_CODE (result).
+ * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
+ (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
+ * config/alpha/alpha.c (alpha_legitimize_address): New.
+ (alpha_legitimize_reload_address): Likewise.
+ * config/alpha/alpha-protos.h: Declare them.
- * cccp.c (pcfinclude): Use HOST_WIDE_INT for rounding a pointer.
+2001-09-04 Stan Shebs <shebs@apple.com>
-Mon Aug 17 14:57:18 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
+ * config/darwin.c (machopic_stub_name): Account for internally
+ generated lib calls such as memcpy.
- * c-typeck.c (digest_init): Test TREE_TYPE (inside_init) is
- nonzero before testing anything else about it.
+2001-09-04 Richard Henderson <rth@redhat.com>
- * i860.md (mulsi3): Use emit_insn on results of gen fcns.
- Return with DONE.
+ * unwind.h (_UA_END_OF_STACK): New flag.
+ * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
-Mon Aug 17 11:50:23 1992 Mark Eichin (eichin@cygnus.com)
+Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
- * cccp.c (do_include): If search_start is NULL, complain that
- we had nowhere to look.
+ * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
-Mon Aug 17 14:53:46 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+2001-09-04 Richard Sandiford <rsandifo@redhat.com>
- * function.c (assign_parms): When copy arg passed by invisible
- reference to pseudo reg, don't use nominal_mode.
+ * config/mips/mips.c (save_restore_insns): Change base_offset to
+ fp_offset in second call to mips_emit_frame_related_store.
- * i960.c (i960_address_cost): Don't abort for invalid addresses.
+2001-09-04 Hans-Peter Nilsson <hp@axis.com>
-Mon Aug 17 14:29:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
+ sometimes be represented as a NOTE of type
+ NOTE_INSN_DELETED_LABEL.
+ (Insns): Document NOTE_INSN_DELETED_LABEL.
- * c-typeck.c (digest_init):
- Use TYPE_MAIN_VARIANT comparing type of inside_init.
+2001-09-04 Nathan Sidwell <nathan@codesourcery.com>
-Mon Aug 17 10:32:08 1992 Michael Meissner (meissner@osf.org)
+ * c-common.h (tree_dump_index): Add more comments.
+ * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
+ (dump_option_value_info): New struct.
+ (dump_options): New array.
+ (dump_switch_p): Parse switch options symbolically.
+ * doc/invoke.texi (-fdump-ast): Rename to ...
+ (-fdump-tree): ... here. Document that options are symbolic, and
+ not all are applicable.
- * genattrtab.c (simplfy_with_current_value): Return 'exp' to
- caller instead of random value.
- (convert_set_attr_alternative): Delete unused variable newexp.
- (simplify_cond): Delete unused variable spacer.
- (make_alternative_compare): Delete unused variable alternative.
- (optimize_attr): Delete unused variable nextie.
- (main): Delete unused variable av.
- (simplify_by_alternatives): #if 0, since the only caller is also
- #ifdef'ed away.
- (copy_rtx_unchanging): #if 0 variables that are only used inside
- of other code under #if 0.
+2001-09-04 David S. Miller <davem@redhat.com>
-Mon Aug 17 07:37:41 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * config/sparc/sparc.md (define_splits): Kill constraints.
- * a29kunix.h (LINK_SPEC): Add %s for default.ld.
- (LINK_LIBGCC_SPECIAL): No longer needed.
- (ASM_FILE_STARY): Add shared data section.
- (SHARED_SECTION_ASM_OP): New macro.
- (OVERRIDE_OPTIONS): If -fshared-data, add -fno-common.
+ Cleanup redundant and unused insn attributes.
+ * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
+ binary, and move. Mark ialu as default.
+ (commented out define_function_unit "alu"): Kill.
+ (define_attr "use_clobbered"): Kill.
+ (whole file): Kill address insn type references. Replace
+ all unary/binary/move references with ialu.
+ * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
+ references. Replace TYPE_{UNARY,BINARY,MOVE} references with
+ TYPE_IALU.
- * alpha.c (alpha_function_needs_gp): New variable.
- (output_prolog): Set it.
- Write label after LDGP if function has recursive call and needs GP.
- (current_function_operand, divmod_operator, alpha_gp_dead_after):
- New functions.
- (print_operand, case 'E', 'F'): New cases.
- (alpha_need_gp): Just test for type of LDSYM, not CALL_INSN.
- * alpha.h (GO_IF_LEGITIMATE_ADDRESS): Allow a SYMBOL_REF for
- the current function as a valid address.
- * alpha.md (divXi3, udivXi3, modXi3, umodXi3): New patterns.
- (cmov): Add pattern for addq/cmov for signed divide by power of 2.
- (call): Omit GP restore if it is dead.
- Add patterns for recursive calls.
- (branch): Change type of everything but calls to IBR.
- (unaligned_storehi): Fix numbering of operands.
- * xm-alpha.h (malloc, realloc, sbrk): Declare as void * if __STDC__.
+ Simplify length insn attribute and make more judicious use
+ of insn attribute defaulting.
+ * config/sparc/sparc.md (all insns with length > one): Mark as
+ insn type multi if real instructions, else use default if
+ it is a forced splitter.
+ (all insns with length == one): Use default insn length.
+ (all insns of type ialu): Use default insn type.
- * libgcc2.c (builtin_new): Remove declaration of malloc.
+ Fix erroneous insn attribute settings.
+ (addx): Set insn type to misc.
+ (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
+ const_umulsidi3_sp64): Set insn type to imul.
- * expmed.c (expand_mult): Bound second synth_mult cost by cost of
- algorithm from first call.
+ Track SFmode vs DFmode insns according to UltraSPARC
+ scheduling rules.
+ * config/sparc/sparc.md ("fptype"): New attribute, default
+ to "single".
+ (all DFmode single insns): Mark as fptype "double".
- * expmed.c (expand_divmod): When doing logical operations, the size
- of COMPUTE_MODE should be used, not MODE.
+2001-09-03 Jakub Jelinek <jakub@redhat.com>
- * combine.c (struct undo, struct undo_int): Replace non-portable
- usage with some unions.
- (SUBST, SUBST_INT, undo_all, gen_rtx_combine): Make consistent
- with new definitions.
+ * loop.c (express_from_1): Fix CONSTANT_P(a) case.
- * fold-const.c (fold): Move conversion back outside of COND_EXPR
- if moving it inside didn't help anything.
+2001-09-03 Richard Henderson <rth@redhat.com>
- * fold-const.c (div_and_round_double): Change some more ints
- to HOST_WIDE_INTs.
+ * function.h (struct function): Add arg_pointer_save_area_init.
+ * function.c (expand_function_end): Init arg_pointer_save_area.
+ (get_arg_pointer_save_area): Do not init arg_pointer_save_area
+ when called from a nested function.
- * jump.c (jump_optimize): Allow SUBREG in many places where REG
- is allowed.
+2001-09-02 Angela Marie Thomas <angela@cygnus.com>
- * expr.c (expand_expr, case COMPONENT_REF): Don't actually do
- extraction from memory if we want address.
+ * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
+ is enabled.
- * expr.c (emit_block_move): Fix problems in last change.
+Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka <jh@suse.cz>
-Mon Aug 17 03:37:10 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
- * collect2.c (is_ctor_dtor): Don't collect cfront init fcns.
+2001-09-01 Geoffrey Keating <geoffk@redhat.com>
- * Makefile.in (GCC_FOR_TARGET): Put -B./ here.
- (GCC_CFLAGS): Not here.
+ * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
+ (emit_push_insn): Use specified padding direction when
+ STACK_PUSH_CODE is POST_INC.
-Sun Aug 16 10:38:10 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+ * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
- * ns32k.c (print_operand_address): Fix typo.
+2001-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Sat Aug 15 20:23:39 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
- * cccp.c (PTR_INT_TYPE): Don't define this.
- (pcfinclude): Use int, not PTR_INT_TYPE.
+2001-09-01 Neil Booth <neil@daikokuya.demon.co.uk>
-Sat Aug 15 11:10:07 1992 Michael Meissner (meissner@osf.org)
+ * cppinit.c (cpp_start_read): Free the imacros list as we
+ traverse it. Don't free the chains before returning.
+ (_cpp_push_next_buffer): Only try pushing buffers if we've
+ completed -imacros handling.
- * mips.h (ASM_FINAL_SPEC): For output of as when -c is not used, use
- %u rather than %g so each object filename will be unique.
- * decrose.h (ASM_FINAL_SPEC): Ditto.
+2001-08-31 Eric Christopher <echristo@redhat.com>
- * x-decrose (CLIB, X_CFLAGS): Don't link in libbsd.a, instead use
- -Dvfork=fork on the command line.
- * x-encrose (CLIB, X_CFLAGS): Ditto.
- * x-i386rose (CLIB, X_CFLAGS): Ditto.
+ * gcc.c (handle_braces): Add explaination for abort.
-Sat Aug 15 06:36:15 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-08-30 Roman Zippel <zippel@linux-m68k.org>
- * cccp.c: Remove declaration of malloc and realloc.
+ * expmed.c (store_bit_field): Update to patch from 2001-08-27:
+ move adjustment of bitpos instead.
- * combine.c (get_last_value): Don't go past a CODE_LABEL when
- searching for a value.
+2001-08-31 Zack Weinberg <zack@codesourcery.com>
- * expr.c (convert_move): Copy SUBREG to REG in one more case.
+ * function.c: Remove all_functions. Make outer_function_chain
+ static.
+ (init_function_start): Don't add new function structure to
+ all_functions.
+ (find_function_data, push_function_context_to,
+ pop_function_context_from, put_var_into_stack,
+ trampoline_address): Update for changed structure element names.
+ (push_function_context_to): Disentangle.
+ (free_after_compilation): Also free F.
+ (expand_dummy_function_end): Don't free cfun here.
+ (put_var_into_stack): Comment why we can't use find_function_data here.
+ (fix_lexical_addr, trampoline_address, ): Use find_function_data.
+ (mark_function_chain): Split into maybe_mark_struct_function and
+ ggc_mark_struct_function. Export the latter.
+ (init_function_once): Mark from cfun and outer_function_chain;
+ not all_functions.
- * expr.c (do_jump*): Always do comparison in object's signedness
- now that combine can remove extraneous sign extends.
+ * function.h (struct function): Kill next_global. Rename next
+ to outer. All users updated to match.
+ (all_functions, outer_function_chain): Don't declare.
-Sat Aug 15 00:52:08 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
+ * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
+ don't touch f->inlinable, after calling rest_of_compilation.
- * fixincludes (ansi_compat.h): Replace this with an empty file.
+ * tree.h: Forward-declare struct function. Prototype
+ ggc_mark_struct_function.
- * gcc.c (process_command): In second loop over all switches,
- don't increment I for switches that don't have separate arguments.
+2001-08-31 Kazu Hirata <kazu@hxi.com>
- * cccp.c: Don't ever include stddef.h.
- (append_include_chain): Avoid using size_t.
- (initialize_builtins): Output defn of __WCHAR_TYPE__ just once.
+ * config/h8300/h8300.md (*andorhi3): Fix typos.
- * ns32k.md (movstrsi1): Renamed from movstrsi.
- (movstrsi): New define_expand.
+2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Fri Aug 14 18:51:57 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * calls.c (emit_library_call_value): Don't use a fixed
+ argument after VA_CLOSE, i.e. out of scope in traditional C.
- * sched.c (attach_deaths_insn): Don't call attach_deaths for CLOBBERs.
+ * emit-rtl.c (gen_rtvec): Likewise.
-Fri Aug 14 18:47:22 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * genattr.c (write_units): Write #defines for the number of
- function units, the min/max ready cost and min/max busy delay.
- Add max_busy_cost field to struct function_unit_desc.
+ * Makefile.in (c-pragma.o): Depend on output.h.
+ (reorg.o): Depend on except.h.
- * genattrtab.c (simplify_by_exploding, find_and_mark_used_attributes,
- unmark_used_attributes, add_values_to_cover, increment_current_value,
- test_for_current_value, simplify_with_current_value,
- simplify_with_current_value_aux): New functions.
- (struct function_unit): Add max_busy_cost, {min,max}_busy_delay.
- (expand_units): Use simplify_by_exploding to simplify the
- function_units_used attribute. Compute the ready cost attributes
- as a COND in numeric order.
- (gen_unit): Compute {min,max}_ready_cost and {min,max}_busy_delay.
- (write_function_unit_info): Determine if there is only one busy
- delay value by comparing the minimum and maximum busy delay.
- Write the initializer for function_units in numeric order.
- Write out the maximum busy delay field.
+ * c-pragma.c: Include output.h.
- * genattrtab.c (attr_desc): Add negative_ok field.
- (find_attr, make_internal_attr): Initialize negative_ok.
- (check_attr_value): Allow negative values for CONST_STRING for
- numeric attributes with negative_ok.
- (encode_units_mask): Change the encoding of the function_units_used
- result.
+ * reorg.c: Include except.h.
- * gcc.c (do_spec_1): Add %u.
- (default_compilers): For output of as when -c is not used, use %u
- rather than %g so each object filename will be unique.
+ * unwind-dw2.c: Call __builtin_alloca, not alloca.
- * cexp.y, cccp.c, gcc.c (NULL_PTR): Use the same definition as
- rtl.h and tree.h.
+2001-08-31 Richard Henderson <rth@redhat.com>
-Fri Aug 14 20:53:00 1992 Paul Eggert (eggert@twinsun.com)
+ * sched-deps.c (add_dependence): Don't elide dependency if the
+ conditional used by insn is modified in elem.
- * c-decl.c (grokdeclarator): Remove duplicate diagnostic for
- initialized parameters; start_decl already does this.
+2001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
- * c-common.c (truthvalue_conversion): Optionally warn if an
- unparenthesized assignment is used as a truth value.
- * c-parse.y, objc-parse.y (expr_no_commas):
- Mark assignments for warning.
+ * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
-Fri Aug 14 14:45:39 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-31 Diego Novillo <dnovillo@redhat.com>
- * vax.md (casesi1): Renamed from casesi.
- (casesi): New trivial define_expand invokes casesi1.
- (movstrhi, movstrhi1): Analogous change.
+ * c-decl.c (c_decode_option): Skip '-f' prefix before calling
+ dump_switch_p.
-Fri Aug 14 14:36:52 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-08-31 Geoffrey Keating <geoffk@redhat.com>
- * reload.c (find_reloads): Ignore `%' in the last operand after
- warning.
+ * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
+ function.
+ (stormy16_asm_out_constructor): New function.
+ (TARGET_ASM_CONSTRUCTOR): Define.
+ (TARGET_ASM_DESTRUCTOR): Define.
-Fri Aug 14 07:41:34 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-08-31 Andreas Jaeger <aj@suse.de>
- * genflags.c (num_operands): MATCH_PARALLEL also represents an operand.
+ * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
+ * loop.c (add_label_notes): Likewise.
+ * reload.c (find_reloads): Likewise.
+ * config/sh/sh.c (machine_dependent_reorg): Likewise.
- * jump.c (invert_exp, redirect_exp): No longer static.
- Clean up order of declarations at start of file and remove
- extraneous decls.
- * unroll.c (copy_loop_body): Don't assume (pc) can be on either
- leg of jump; use invert_exp and redirect_exp instead.
+2001-08-31 Jason Merrill <jason_merrill@redhat.com>
- * alpha.c, alpha.h, alpha.md, xm-alpha.h, x-alpha, va-alpha.h:
- New files.
- * config.sub: Add "alpha".
- * configure: Likewise.
- * Makefile.in (USER_H): Add va-alpha.h and sort names.
- * gstdarg.h, gvarargs.h: Call va-alpha.h for Alpha.
+ * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
+ code here. Take _Unwind_{W,Sw}ord*.
+ (read_encoded_value_with_base): Use them.
+ * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
+ words.
+ (extract_cie_info): Simplify read_?leb128 handling.
+ (execute_stack_op, execute_cfa_program): Likewise.
+ * unwind-dw2-fde.c (get_cie_encoding): Likewise.
- * rtl.def (MATCH_PAR_DUP): New RTL code.
- * genconfig.c (walk_insn_part): Treat it just like MATCH_OP_DUP.
- * genemit.c (max_operand_1): Likewise.
- (gen_exp): Treat it like MATCH_PARALLEL here.
- * genextract.c (walk_rtx): Treat it like MATCH_DUP.
- * genoutput (scan_operands): Likewise.
- * genpeep.c (match_rtx): Likewise.
- * genrecog.c (add_to_sequence): Likewise.
- * a29k.md, rs6000.md ({load,store}_multiple): Use MATCH_PAR_DUP.
+2001-08-31 Geoffrey Keating <geoffk@redhat.com>
- * cse.c (fold_rtx): Fix typo in two FLOAT_STORE_FLAG_VALUE tests.
+ * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
+ the frame pointer to pop the stack if convenient.
- * flow.c (life_analysis, propagate_block, dump_flow_info): Add more
- missing casts to REGSET_ELT_TYPE.
+ * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
+ Don't use post-increment before combine.
+ * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
+ a call-saved register.
- * expr.c (movstr_optab): New variable.
- (init_expr_once): Initialize it.
- (emit_block_move): Rework code that generates movstrxx insns to
- check predicates and use an optab.
+2001-08-31 Andreas Jaeger <aj@suse.de>
- * cse.c (simplify_unary_operation): Remove "else".
+ * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
+ code was correct.
-Fri Aug 14 07:41:05 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+2001-08-30 Geoffrey Keating <geoffk@redhat.com>
- * c-decl.c, cse.c, fold-const.c, integrate.c, obstack.h, protoize.c,
- reload1.c, stmt.c, tree.c, tree.h: Phicks speling erours.
+ * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
+ not DIV/MOD, of course.
-Fri Aug 14 03:21:17 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-30 Vladimir Makarov <vmakarov@redhat.com>
- * c-convert.c (convert): When converting to variant of same type, fold.
+ * rtl.def: Undo my patch commited 2001-08-27.
- * varasm.c (assemble_variable): Change error message for unknown size.
+ * genattrtab.c: Ditto.
- * c-parse.y (declmods): Don't warn for multiple storage classes
- all at the beginning. This is either good practice or an error.
+ * rtl.h: Ditto.
-Thu Aug 13 19:43:13 1992 Paul Eggert (eggert@twinsun.com)
+ * sched-int.h: Ditto.
- * c-decl.c (finish_decl): Avoid cascading messages for tentative
- definitions with incomplete types.
+ * target-def.h: Ditto.
- * c-typeck.c (process_init_constructor): Warn about partly
- bracketed initializers.
+ * target.h: Ditto.
-Thu Aug 13 17:18:49 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * haifa-sched.c: Ditto.
- * cccp.c (handle_directive): Output macro name if dump_names.
+ * sched-rgn.c: Ditto.
- * m68k.h: Delete junk line inserted by mistake in last patch.
+ * sched-vis.c: Ditto.
-Thu Aug 13 16:46:58 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * Makefile.in: Ditto.
- * regclass.c (regclass): Don't scan the constraints if there aren't
- any operands. Don't look for a commutative constraint in the last
- operand.
+ * doc/md.texi: Ditto.
- * function.c (contains): Return the number of insns.
- (reposition_prologue_and_epilogue_notes): Count all the prologue and
- epilogue insns.
+ * doc/tm.texi: Ditto.
-Thu Aug 13 15:20:24 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * doc/contrib.texi: Ditto.
- * m68k.h (TARGET_SWITCHES): Make -m68040 set 01007 not 01000.
+ * doc/gcc.texi: Ditto.
- * sparc.h (CPP_SPEC): For -mv8, define __sparc_v8__ not __sparcv8__.
- * longlong.h (__sparclite__): Define umul_ppmm, udiv_qrnnd, and
- count_leading_zeros for this sparc architecture variant.
- (__sparc_v8__): Changed from __sparc8__.
+ * genattrtab.h: Remove it.
- * c-typeck.c (build_component_ref): Don't warn for compound and
- conditional expressions when pedantic. These are valid in ANSI C.
+ * genautomata.c: Remove it.
-Thu Aug 13 11:37:57 1992 Jeffrey A. Law (law@mole.gnu.ai.mit.edu)
+ * genattr.c: Undo my patch and Richard Henderson's patch commited
+ 2001-08-27.
- * pa.c (output_function_prologue): Restore "rp" after the call to
- mcount.
+Thu Aug 30 19:22:15 2001 J"orn Rennecke <amylaar@redhat.com>
-Thu Aug 13 06:54:50 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+ * config.gcc (h8300-*-elf*): New case.
+ * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
+ (SUBTARGET_CPP_SPEC): Define.
+ (EXTRA_SPECS): Define.
+ (SUBTARGET_EXTRA_SPECS): Define.
+ * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
+ * config/h8300/elf.h, config/h8300/t-elf: Likewise.
- * pa.md (movsf recognizer): Output `fcpy,sgl', not `fcpy'.
- From Jeff Law:
- * pa.md (zdepi in HImode): Move this pattern after the standard
- movhi patterns.
+Thu Aug 30 18:50:37 2001 J"orn Rennecke <amylaar@redhat.com>
-Wed Aug 12 11:45:15 1992 Michael Meissner (meissner@osf.org)
+ * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
+ (LIB2FUNCS_EXTRA): Define.
+ config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
+ config/h8300/fixunssfsi.c: New file.
- * mips.h (ASM_FINAL_SPEC): For output of as when -c is not used,
- use %g, rather than %b, because the file is going to be deleted
- anyway (sync up with gcc.c Aug 4 changes). Patch from Jim Meyering.
+2001-08-30 Kazu Hirata <kazu@hxi.com>
- * decrose.h (ASM_FINAL_SPEC): Ditto.
+ * config/h8300/h8300.md (zero_extendqihi2): Changes to
+ define_expand to accommodate target-specific attributes.
+ (anonymous zero_extendqihi2 patterns): New.
-Wed Aug 12 03:23:30 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
- * fixincludes (finding all .h files): Look for links as well as
- ordinary files.
+ * h8300.md (*andorhi3): New pattern.
- * m68k.h (TARGET_68040): Test for 01000 or 0400.
- (TARGET_SWITCHES): Rename -m68040 to -m68020-40.
- Rename -m68040-only to -m68040.
+Thu Aug 30 16:00:31 2001 J"orn Rennecke <amylaar@redhat.com>
- * hp2bsd.h (TARGET_DEFAULT): Make value 0.
+ * h8300.c (dosize): Fix test for "sub".
-Tue Aug 11 04:23:35 1992 Paul Eggert (eggert@twinsun.com)
+Thu Aug 30 10:21:43 2001 J"orn Rennecke <amylaar@redhat.com>
- * fold-const.c (operand_equal_p): Make it clear that this function
- tests for indistinguishable values, not for equality as computed by
- `=='; the distinction is important for IEEE NaNs and -0.0.
+ * c-typeck.c (pointer_diff): Try to eliminate common term before
+ doing conversions.
-Tue Aug 11 13:10:47 1992 Fred Fish (fnf at fishpond)
+2001-08-30 Nick Clifton <nickc@cambridge.redhat.com>
- * config.sub (amigaunix/amix): Use sysv4 as os.
- * configure (m68k-*-amix*): Change to m68k-cbm-sysv4* and
- eliminate fixincludes and broken_install.
+ * config/arm/arm.c (arm_compute_initial_elimination_offset):
+ Account for the saves of the FP registers.
-Tue Aug 11 15:42:58 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
+ (TEXT_SECTION_ASM_OP): Define.
+ (INIT_SECTION_ASM_OP): Define.
+ (FINI_SECTION_ASM_OP): Define.
+ (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
+ (RDATA_SECTION_FUNCTION): Provide prototype.
- * function.c (identify_blocks): Handle case where no block nodes
- exist. Use xmalloc not alloca for block_vector.
- (reorder_blocks): New argument top_block. Handle case where no
- block nodes exist. Always clear BLOCK_SUBBLOCKS (block) when
- adding it to the block tree.
- (all_blocks): Handle case where vector is zero. Store current
- block at offset 0 in vector, not n_blocks. Don't count current
- block twice in n_blocks.
- * function.h (identify_blocks): Declare.
- (rtx, tree): Move undefs to the very end.
- * loop.c (loop_optimize): Delete uses of loop_number_first_block,
- loop_number_last_block, loop_number_block_level. Correct call of
- find_loop_tree_blocks. Add call to unroll_block_trees.
- * loop.h (loop_number_first_block, loop_number_last_block,
- loop_number_block_level): Delete declarations.
- * stmt.c: Likewise.
- (find_loop_tree_blocks): Completely rewritten to use
- identify_blocks.
- (unroll_block_trees): Completely rewritten to use reorder blocks.
- * unroll.c (unroll_loop): Delete call to unroll_block_trees.
+2001-08-29 Geoffrey Keating <geoffk@redhat.com>
- * unroll.c (copy_loop_body): Only copy VTOP note if it will end up
- before a loop exit test.
+ * reload1.c (move2add_note_store): Correct typo checking for
+ argument pushes.
-Tue Aug 11 09:21:47 1992 Michael Meissner (meissner@osf.org)
+2001-08-29 Andrew MacLeod <amacleod@redhat.com>
- * mips.h (MIPS_VERSION): Bump meissner version # to 23.
- (CONST_CODES): Remove declaration for eliminate_constant_term
- from inside of local {}'s.
- (SELECT_SECTION_MODE): Remove declaration of variable
- mips_section_threshold from inside of local {}'s.
- (SELECT_SECTION): Ditto.
+ * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
+ note should not be considered outside the libcall block.
- * mips.c (toplevel): Remove declarations for all of the gen_xxx
- functions used, since insn-flags.h contains them.
+2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * mip.md (fixuns_truncdfsi2): Remove extern declarations.
- (fixuns_truncsfsi2): Ditto.
- (movsi_unaligned, movsi_ulw, movsi_usw): Ditto.
- (seq, sne, sgt, sle, sgtu, sleu): Ditto.
+ * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
-Tue Aug 11 02:51:25 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-29 Kazu Hirata <kazu@hxi.com>
- * fixincludes (memory.h): Fix versions 1.2 and 1.3 as well as 1.4.
+ * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
- * configure: Improve err msg for unknown config.
+2001-08-29 Kazu Hirata <kazu@hxi.com>
-Tue Aug 11 04:02:51 1992 Paul Eggert (eggert@twinsun.com)
+ * config/h8300/h8300-protos.h: Add a prototype for
+ emit_logical_op.
+ * config/h8300/h8300.c (emit_logical_op): New.
+ * config/h8300/h8300.md (andhi3): Use emit_logical_op.
+ (andsi3): Likewise.
+ (iorhi3): Likewise.
+ (iorsi3): Likewise.
+ (xorhi3): Likewise.
+ (xorsi3): Likewise.
- * fold-const.c (fold): Don't fold (A op B ? A : C) if A is IEEE
- floating point, because A might be -0.0 or NaN.
+2001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
- * c-typeck.c (parser_build_binary_op): Warn about expressions like
- `1<=i<=N'.
+ * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
+ comparison with rtx INTVAL.
+ (pa_output_function_prologue): Don't mix signed and unsigned in `?'
+ expression.
+ * pa.h (FUNCTION_ARG_SIZE): Likewise.
-Mon Aug 10 22:11:50 1992 Michael Meissner (meissner@osf.org)
+2001-08-29 Kazu Hirata <kazu@hxi.com>
- * reload1.c (emit_reload_insns): Use gen_rtx to create a secondary
- reload insn, not gen_reg_rtx.
+ * config/h8300/lib1funcs.asm: Update the copyright. Fix
+ comment typos.
-Mon Aug 10 06:23:23 1992 Torbjorn Granlund (tege@jupiter.sics.se)
+2001-08-29 Kazu Hirata <kazu@hxi.com>
- * pa.md (Recognizer for zdepi_operand in HImode): New pattern.
- (Recognizer for zdepi_operand in SImode): Call output_zdepi for
- output.
- (shift patterns and recognizers): Handle 32 bit ints and truncate
- them for output.
- * pa.c (output_zdepi): New function (contents from pa.md).
- * pa.h (output_zdepi): Declare.
+ * config/h8300/h8300.md (anonymous movhi pattern): Don't move
+ (reg n) to (mem (pre_dec (reg n))
+ (anonymous movsi pattern): Likewise.
-Sun Aug 9 17:10:24 1992 Pat Rankin (rankin@eql.caltech.edu)
+2001-08-29 Kazu Hirata <kazu@hxi.com>
- * configure.com: Rename vms to vax-vms; split long lines.
- * make-l2.com: Assemble libgcc2 routines twice, preserving
- lowercase function names the second time.
+ * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
-Sun Aug 9 00:50:46 PDT 1992 Ron Guilmette (rfg at netcom.com)
+2001-08-29 Kazu Hirata <kazu@hxi.com>
- * final.c (final_scan_insn): Call dwarfout_begin_block and
- dwarfout_end_block even for -g1.
+ * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
+ several special constants.
-Sun Aug 9 18:10:33 1992 Michael Meissner (meissner@osf.org)
+2001-08-29 Kazu Hirata <kazu@hxi.com>
- * genflags.c (gen_insn): Treat 'call_pop' and 'call_value_pop' like
- 'call' and 'call_insn'.
+ * config/h8300/lib1funcs.asm: Fix comment typos.
- * i386.h (LEGITIMIZE_ADDRESS): Emit_move_insn only takes two
- arguments, not three.
+2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Sat Aug 8 10:26:02 1992 Michael Meissner (meissner@osf.org)
+ * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
+ Fix format specifier warnings.
- * cp-tree.h (hash_chainon): Provide declaration.
- (build_virtual_init): Ditto.
- (build_vbase_delete): Ditto.
- (build_vbase_vtables_init): Ditto.
+ * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
+ inet_makeaddr, semctl): Prototype.
- * genflags.c (insn_name_ptr): Define, so that we can link in
- print-rtl.c for debugging.
- (call_obstack, normal_obstack): New obstacks to remember call
- insns, and normal insns, so that we can emit the prototypes later.
- (max_id_len): New variable to record the maximum identifier
- length.
- (num_operands): New function to return the number MATCH_OPERAND's
- and MATCH_OPERATOR's in an insn tree.
- (gen_proto): New function to print out a prototype for an insn.
- (gen_nonproto): New function to print out a declaration without a
- prototype.
- (gen_insn): Don't emit function declarations here, just save the
- insn on either the call_obstack if it is call or call_value, or
- normal_obstack otherwise.
- (main): Initialize call_obstack, normal_obstack. After all insns
- are processed, emit function declarations with and without
- prototypes, depending on whether NO_MD_PROTOTYPES, and
- CALL_MD_PROTOTYPES are defined.
-
- * rtl.h (PROTO): If not defined, define to either expand
- prototypes or just expand to (), depending on whether or not, the
- host compiler supports ANSI C.
- (NULL_PTR): Define as void * if we have prototypes.
- (all function declarations): Add prototypes for all functions
- where it is feasible to do so, using the PROTO macro.
- (force_reg): Add declaration.
- (eliminate_constant_term): Ditto.
- (output_constant_def): If tree.h has been included, add prototype.
- (immed_real_const): Ditto.
- (immed_real_const_1): Ditto.
- (make_tree): Ditto.
-
- * tree.h (PROTO): If not defined, define to either expand
- prototypes or just expand to (), depending on whether or not, the
- host compiler supports ANSI C.
- (NULL_PTR): Define as void * if we have prototypes.
- (all function declarations): Add prototypes for all functions
- where it is feasible to do so, using the PROTO macro. Do not
- define prototypes for build_binary_op, or build_indirect_ref,
- since GNU C and GNU G++ have different numbers of arguments. Do
- not define prototypes for make_tree, since it takes a rtx as the
- argument, and rtl.h is included after tree.h.
-
-Sat Aug 8 07:36:19 1992 Tom Wood (wood@dg-rtp.dg.com)
-
- * cp-lex.c: Include stdlib.h and locale.h if needed.
- (errno): Declare only if it isn't a macro.
- * cp-tree.c (__eprintf): `line' is unsigned.
- * cp-typeck.c (mark_addressable): Use DECL_EXTERNAL not TREE_EXTERNAL.
-
-Fri Aug 7 00:16:28 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * gcc.c (read_specs): Cast args of xmalloc and read to unsigned.
-
- * final.c (final_scan_insn): Use ASM_OUTPUT_ADDR_DIFF_ELT
- and ASM_OUTPUT_ADDR_VEC_ELT only if defined.
-
-Thu Aug 6 22:00:13 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
-
- * sched.c (true_dependence): An unchanging read is guaranteed
- independent of a store only if the store is not unchanging.
- (anti_dependence): Added comment about unchanging reads.
- (sched_analyze_2): Don't ignore unchanging reads, they may be
- dependent on unchanging writes.
-
- * sparc.md: Correct DEFINE_SPLITs added Jul 27. They would
- overwrite the input register if it was the same as the result reg.
-
-Thu Aug 6 16:25:48 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
-
- * pa.h (ASM_FILE_START): If profiling IMPORT "_mcount" instead of
- "__gcc_mcount".
-
- * These changes allow the PA to make use of the BSS subspace. They
- require you to use the HPUX assembler or a fixed version of pa-gas
- (available soon on jaguar.cs.utah.edu).
- * pa.h (TARGET_SWITCHES): New switch "no-bss" which forces gcc not
- to make use of the bss subspace. (For compatability with old buggy
- versions of pa-gas.)
- (ASM_FILE_START): Add $BSS$ subspace.
- (BSS_SECTION_ASM_OP): New macro which tells the assembler to switch
- to the bss subspace.
- (EXTRA_SECTIONS): Define in_bss as an extra section.
- (EXTRA_SECTION_FUNCTIONS): Define "bss_section" function to switch
- into the bss subspace.
- (ASM_OUTPUT_COMMON): If !TARGET_NO_BSS, then place commons into the
- bss subspace.
- (ASM_OUTPUT_LOCAL): Likewise.
+ * mips.c (compute_frame_size): Fix signed/unsigned warnings.
+ (save_restore_insns): Use base_offset, not gp_offset.
-Thu Aug 6 13:04:16 1992 Tim Moore (moore@defmacro.cs.utah.edu)
+ * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
+ (ASM_OUTPUT_BYTE): Fix format specifier warning.
- * gvarargs.h : Check hp800 symbol too for the hppa case.
- * va-pa.h : Rewrite to be compatible with hpux.
- * pa.c (hppa_builtin_saveregs): Rewrite.
- (secondary_reload_class): Bug fix.
- (arith32_operand): New function.
+2001-08-29 Richard Henderson <rth@redhat.com>
-Wed Aug 5 11:23:05 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * bb-reorder.c (function_tail_eff_head): New.
+ (record_effective_endpoints): Set it.
+ (fixup_reorder_chain): Use it.
- * m88k.h (EXTRA_SECTIONS, svr3): Delete empty definitions for
- CTORS_SECTION_FUNCTION and DTORS_SECTION_FUNCTION. Add in_ctors
- and in_dtors.
+2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Tue Aug 4 23:54:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
- * gcc.c (default_compilers): For output of as when -c is not used,
- use %g, rather than %b, because the file is going to be deleted
- anyway.
+2001-08-28 Dale Johannesen <dalej@apple.com>
-Tue Aug 4 20:30:12 1992 Michael Meissner (meissner@osf.org)
+ * config/darwin.c (machopic_function_base_name): Add const
+ qualifier to a string.
+ (darwin_encode_section_info): Ditto.
- * cp-decl.c (grokdeclarator): Call build_type_variant to set const
- and volatile flags, since build_reference_type does not take those
- arguments.
+2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * cp-parse.y (attribute processing): Correctly call tree_cons with
- three arguments, passing NULL_TREE for the chain argument.
+ * tree.c (default_valid_attribute_p): Don't use PARAMS on a
+ function definition.
- * cp-tree.h (hash_chainon): Add declaration for this function.
- (build_virtual_init): Ditto.
- (build_vbase_delete): Ditto.
- (build_vbase_vtables_init): Ditto.
+2001-08-28 Daniel Berlin <dan@cgsoftware.com>
- * cp-typeck.c (build_modify_expr_1): Pass 0 as third argument to
- build_unary_op.
- (build_modify_expr): Ditto.
+ * df.h (struct df): Add rts_order variable.
-Tue Aug 4 18:10:46 1992 Mike Stump (mrs@wombat.gnu.ai.mit.edu)
+ * df.c (df_visit_next_rts): New function.
+ (df_visit_next): Renamed to df_visit_next_rc
+ (df_analyse_1): Allocate/compute/free rts_order as well.
+ (df_rd_global_compute): Use df_visit_next_rc instead of
+ df_visit_next.
+ (df_ru_global_compute): Use df_visit_next_rts instead of
+ df_visit_next.
- * cp-tree.h, tree.h: Moved definitions of TREE_VIA_* into tree.h for
- consistency.
+ * flow.c (flow_reverse_top_sort_order_compute): New function.
-Tue Aug 4 17:35:32 1992 Mike Stump (mrs@albert.gnu.ai.mit.edu)
+ * basic-block.h: Add prototype.
- Complete 10th FSF <---> Cygnus merge.
+2001-08-28 Daniel Berlin <dan@cgsoftware.com>
- Tue Aug 4 12:58:59 1992 Mike Stump (mrs@cygnus.com)
+ * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
+ blocks, the BB_REACHABLE is now set, rather than aux being
+ non-NULL. Update the test to reflect this.
- * cp-decl.c (pushtag): Don't set DECL_IGNORED_P for binding
- layer markers, use only DECL_SOURCE_LINE == 0, as otherwise,
- it messes up dbxout.c.
+2001-08-28 Eric Christopher <echristo@redhat.com>
- Tue Aug 4 11:59:36 1992 Mike Stump (mrs@cygnus.com)
+ * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
+ config/mips/crti.asm: Ditto.
- Tue Aug 4 13:43:55 1992 Chip Salzenberg (chip@tct.com)
+2001-08-28 Eric Christopher <echristo@redhat.com>
+ Richard Henderson <rth@redhat.com>
- * cp-method.c (hack_identifier): Remove redundant call of
- assemble_external.
+ * c-pragma.h (add_weak): Move prototype from here...
+ * output.h (add_weak): ... to here.
+ * varasm.c (add_weak): Fix typo.
+ * config/mips/crti.asm: New file.
+ * config/mips/crtn.asm: Ditto.
+ * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
+ (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
+ (INVOKE__main): Ditto.
+ (INIT_SECTION_ASM_OP): New.
+ (FINI_SECTION_ASM_OP): Ditto.
+ (STARTFILE_SPEC): Add crti.
+ (ENDFILE_SPEC): Add crtn.
+ * config/mips/elf64.h: Same.
+ * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
+ Remove.
+ * config/mips/vxworks.h: Ditto.
+ * config/mips/t-elf: Support crti and crtn.
- Tue Aug 4 10:23:02 1992 Chip Salzenberg (chip@tct.com)
+2001-08-28 Alexandre Oliva <aoliva@redhat.com>
- * cp-decl.c (pushdecl): Any kind of DECL should be good enough
- at global scope, not just a TEMPLATE_DECL.
+ * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
+ INSN_LIST.
- Sun Aug 2 21:12:55 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+2001-08-28 Richard Henderson <rth@redhat.com>
- * cp-tree.c: change definition of __eprintf to match libgcc2.c and
- assert.h
+ * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
+ (one_cmplbi2 splitter): Remove redundant test.
- Fri Jul 31 16:53:26 1992 Mike Stump (mrs@cygnus.com)
+2001-08-28 Dale Johannesen <dalej@apple.com>
- * cp-tree (break_out_calls): Only make ony copy of a node on
- 's' and 'e' nodes. Handle 'r' just like 's' and 'e' because
- nodes of type 'r' can be of different sizes (the old code
- would do the wrong thing for a COMPONENT_REF).
+ * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
- Thu Jul 30 11:46:14 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
+2001-08-28 Danny Smith <dannysmith@users.sourceforge.net>
- * cp-init.c (emit_base_init): Set transparent basetypes (those w/o
- ctors) as marked if we need to walk up the tree to find a ctor.
+ * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
- Wed Jul 29 03:25:51 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
+2001-08-28 Stan Shebs <shebs@apple.com>
- * cp-decl.c (grokdeclarator): In SCOPE_REF case, sort out visibility
- declarations from other declarations, since the compiler will
- ultimately handle them differently. This is a part of the solution
- to p525.
- (finish_method): Tentative (and probably wrong) fix for carrying
- along inline methods delcared within a class that really belong to
- nested classes of the class. This may be more of the solution to
- p525.
+ * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
+ (UNALIGNED_SHORT_ASM_OP): Define.
+ (UNALIGNED_INT_ASM_OP): Define.
- * cp-init.c (build_offset_ref): Use IDENTIFIER_TYPE_VALUE of CNAME
- when CURRENT_CLASS_DECL is 0.
+2001-08-28 Will Cohen <wcohen@redhat.com>
- * cp-class.c (finish_struct): Don't give errors for TYPE_DECLs in a
- struct that are really only meant for FIELD_DECLs.
+ * config/rs6000/rs6000.md (store_multiple): Correct RTL
+ generation for first set.
- Tue Jul 28 23:36:58 1992 Mike Stump (mrs@cygnus.com)
+2001-08-27 Roman Zippel <zippel@linux-m68k.org>
- * cp-decl.c (grok_op_properties): Do not core dump on parse errors.
+ * flow.c (redirect_edge_succ_nodup): Return new edge.
+ (try_simplify_condjump): Use new edge.
+ * basic-block.h (redirect_edge_succ_nodup): Update prototype.
- Tue Jul 28 22:43:12 1992 Mark Eichin (eichin@cygnus.com)
+ * cse.c (cse_basic_block): Skip note instructions.
- * cp-pt.c (end_template_instantiation) YYDEBUG is now defined in
- cp-parse.h -- so don't assume that it's -2 (since under byacc it is
- -1 anyway.) iomanip.C compiles again.
+2001-08-27 Richard Henderson <rth@redhat.com>
- Tue Jul 28 22:33:46 1992 Mike Stump (mrs@cygnus.com)
+ * combine.c (combine_simplify_rtx): Don't reverse condition
+ if there is no reverse for the condition.
+ (simplify_comparison): Don't simplify subregs from INT to FP.
- * cp-typeck.c (build_c_cast): Allow cast to array type in
- some situations to be more compatible with Cfront.
+ * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
+ suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
+ sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
+ bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
+ bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
+ bunle_rev, bunlt_rev, bltgt_rev): New patterns.
- Tue Jul 28 22:05:14 1992 Mark Eichin (eichin@cygnus.com)
+2001-08-27 Roman Zippel <zippel@linux-m68k.org>
- * cp-parse.y (print_parse_statistics): don't reference TOKEN_LENGTH
- or REDUCE_LENGTH unless GATHER_STATISTICS is set. (YYDEBUG alone is
- not a sufficient condition.)
+ * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
+ bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
+ (pushqi1): New.
+ (adddi_dilshr32, adddi_dishl32): Only data register can be
+ source for mem destination.
- Tue Jul 28 19:18:30 1992 Mike Stump (mrs@cygnus.com)
+ * expmed.c (store_bit_field): Ignore adjustment to bitpos
+ and use bitnum to decide about register move.
- * cp-tree.c (break_out_calls): Don't do anything special to
- SAVE_EXPRs, as they cannot contain calls that would need
- breaking out. This fixes a problem introduced on Jul 15, by
- Ron Guilmette.
+2001-08-27 Richard Henderson <rth@redhat.com>
- Mon Jul 27 16:55:52 1992 Mike Stump (mrs@cygnus.com)
+ * genattr.c (main): Emit state_t even when not doing scheduling.
- * c++: Fix errors introduced by rms. Bullet-proof handling
- of arguments with funny things in them such as newlines,
- spaces, tabs, single quotes, double quotes, etc...
+2001-08-27 Roman Zippel <zippel@linux-m68k.org>
+ Richard Henderson <rth@redhat.com>
- Mon Jul 27 15:03:23 1992 Ken Raeburn (raeburn@cygnus.com)
+ * gcse.c (reg_first_set, reg_last_set): Replace with ...
+ (reg_avail_info, current_bb): ... these.
+ (oprs_unchanged_p, record_last_reg_set_info): Use them.
+ (compute_hash_table): Likewise.
- * cp-init.c (build_vec_delete): Extract size of type even for
- destructorless types, so value can be computed to pass to delete
- operator.
+2001-08-27 Roman Zippel <zippel@linux-m68k.org>
- * Bludgeon interface/implementation code into leaving templates
- alone, until we've figured out how to handle their interaction
- properly:
- * cp-parse.y (template_instantiate_once): Temporarily set interface
- flags to `unknown' while processing member templates.
- * cp-decl.c (grokfndecl): Even if class vtable is getting written
- out, regardless of interface setting of class and write_virtuals
- flag, don't force virtual destructor of template class to be public.
- * cp-tree.h (struct pending_inline): New field `interface'.
- * cp-lex.c (do_pending_inlines): Restore interface flags from stored
- values, rather than calling extract_interface_info.
- (process_next_inline): Likewise, if more pending inlines exist; else
- do call extract_interface_info.
- (reinit_parse_for_method): Save away interface flags.
- (cons_up_default_function): Ditto.
- * cp-pt.c (instantiate_template): Set saved interface flag to
- `unknown'.
- (end_template_instantiation): Set CLASSTYPE_INTERFACE_UNKNOWN.
+ * flow.c (verify_flow_info): Use checksums to verify edges.
- * cp-pt.c (instantiate_member_templates): Deleted some unused code.
+2001-08-27 Richard Henderson <rth@redhat.com>
- * cp-decl.c (grokfndecl): Make class methods public if
- `implementation' pragma is set.
+ * genautomata.c (expand_automata): Always create a description.
- * cp-pt.c (pending_templates): No longer exported.
- (add_pending_template): Ditto.
- * cp-parse.y (primary): Don't check it; always call
- do_pending_templates.
+2001-08-27 Geoffrey Keating <geoffk@redhat.com>
+
+ * optabs.c (expand_binop): Correctly handle the carry in multiword
+ add/subtract operations.
- Fri Jul 24 14:22:39 1992 Mike Stump (mrs@cygnus.com)
+2001-08-27 Fred Fish <fnf@be.com>
- * cp-decl.c (init_decl_processing, finish_function),
- cp-method.c (build_decl_overload, build_opfncall), cp-init.c
- (build_x_delete, build_delete, build_vec_delete): Add support
- for two argument delete to support ARM 12.5. In some cases,
- the argument is smaller than it should be.
+ * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
+ __SIZE_TYPE__.
- Thu Jul 23 08:12:16 1992 Mike Stump (mrs@cygnus.com)
+2001-08-27 Geoffrey Keating <geoffk@redhat.com>
- * cp-lex.c: Update wide character handling from c-lex.c and make
- the type of multicharacter constants be int per ANSI C++ WP.
+ * reload.c (find_reloads_toplev): Back out this change:
- * cp-decl.c (init_decl_processing, grokdeclarator), cp-lex.h,
- gplus.gperf, cp-lex.c (init_lex), cp-decl2.c (groktypefield),
- cp-method.c (build_overload_name): Add support for wchar_t as a
- distinct type to conform to x3j16 working paper.
- * cp-hash.h: Regenerated.
+ Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
- Wed Jul 22 17:41:08 1992 Mark Eichin (eichin@cygnus.com)
+ * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
+ mem if the address is a mode_dependent_address_p.
- * cp-parse.y (structsp): note_got_semicolon was called before
- finish_struct (which always clears the got_semicolon bit.) However,
- note_got_semicolon was only called if yychar==';', without checking
- for YYEMPTY.
+2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
- Tue Jul 21 22:59:32 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
+ * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
+ PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
+ AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
+ RTL constructions.
- * cp-typeck.c (mark_addressable): If we have a recursive call to an
- otherwise inline function, clear TREE_EXTERNAL so the whole function
- is written to the asm file.
+ * genattr.c (main): New variable num_insn_reservations. Increase
+ it if there is DEFINE_INSN_RESERVATION. Output automaton based
+ pipeline hazard recognizer interface.
+
+ * genattrtab.h: New file.
+
+ * genattrtab.c: Include genattrtab.h.
+ (attr_printf, check_attr_test, make_internal_attr,
+ make_numeric_value): Move protypes into genattrtab.h. Define them
+ as external.
+ (num_dfa_decls): New global variable.
+ (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
+ DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
+ DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
+ DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
+
+ * genautomata.c: New file.
+
+ * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
+
+ * sched-int.h: (curr_state): Add the external definition for
+ automaton pipeline interface.
+ (haifa_insn_data): Add comments for members blockage and units.
+
+ * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+ TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
+ TARGET_SCHED_DFA_PRE_CYCLE_INSN,
+ TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
+ TARGET_SCHED_DFA_POST_CYCLE_INSN,
+ TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+ TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
+ macros.
+ (TARGET_SCHED): Use the new macros.
+
+ * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
+ dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
+ first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
+ dfa_bubble): New members in gcc_target.sched.
+
+ * haifa-sched.c (insert_schedule_bubbles_p): New variable.
+ (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
+ (insn_queue): Redefine it as pointer to array.
+ (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
+ INSN_QUEUE_SIZE.
+ (max_insn_queue_index_macro_value): New variable.
+ (curr_state, dfa_state_size, ready_try): New varaibles for
+ automaton interface.
+ (ready_element, ready_remove, max_issue): New function prototypes
+ for automaton interface.
+ (choose_ready): New function prototype.
+ (insn_unit, blockage_range): Add comments.
+ (unit_last_insn, unit_tick, unit_n_insns): Define them for case
+ FUNCTION_UNITS_SIZE == 0.
+ (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
+ actual_hazard, potential_hazard): Add comments.
+ (insn_cost): Use cost -1 as undefined value. Remove
+ LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
+ pipeline interface.
+ (ready_element, ready_remove): New functions for automaton
+ interface.
+ (schedule_insn): Add new code for automaton pipeline interface.
+ (queue_to_ready): Add new code for automaton pipeline interface.
+ Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
+ (debug_ready_list): Print newline when the queue is empty.
+ (max_issue): New function for automaton pipeline interface.
+ (choose_ready): New function.
+ (schedule_block): Add new code for automaton pipeline interface.
+ Print ready list before scheduling each insn.
+ (sched_init): Add new code for automaton pipeline interface.
+ Initiate insn cost by -1.
+ (sched_finish): Free the current automaton state and finalize
+ automaton pipeline interface.
+
+ * sched-rgn.c: Include target.h.
+ (init_ready_list, new_ready, debug_dependencies): Add new code for
+ automaton pipeline interface.
+
+ * sched-vis.c: Include target.h.
+ (get_visual_tbl_length): Add code for automaton interface.
+ (target_units, print_block_visualization): Add comments.
+
+ * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
+ USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
+ (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
+ (getruntime.o, genautomata.o): New entries.
+ (genattrtab.o): Add new dependency file genattrtab.h.
+ (genattrtab): Add new dependencies. Link it with `libm.a'.
+ (getruntime.o, hashtab.o): New entries for canadian cross.
+
+ * doc/md.texi: Description of automaton based model.
+
+ * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
+ Add comments.
+ (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+ TARGET_SCHED_DFA_PRE_CYCLE_INSN,
+ TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
+ TARGET_SCHED_DFA_POST_CYCLE_INSN,
+ TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
+ TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+ TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
+ hook descriptions.
+ (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
+ MAX_DFA_ISSUE_RATE): New macro descriptions.
+
+ * doc/contrib.texi: Add dfa based scheduler contribution.
+
+ * doc/gcc.texi: Add more information about genattrtab.
+
+2001-08-27 Diego Novillo <dnovillo@redhat.com>
+
+ * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
+ an RTL basic block.
+
+2001-08-27 Richard Henderson <rth@redhat.com>
+
+ * function.c (expand_function_end): Don't init arg_pointer_save_area.
+ (get_arg_pointer_save_area): New. Create an init it here.
+ (fix_lexical_addr): Use it.
+ * function.h: Declare it.
+ * builtins.c (expand_builtin_setjmp_receiver): Use it.
+ * stmt.c (expand_nl_goto_receiver): Use it.
+
+2001-08-27 Richard Henderson <rth@redhat.com>
+
+ * final.c (final_scan_insn): Don't enter APP_ON mode for
+ empty asm strings.
+
+ * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
+ alignment for assemble_integer for DW_EH_PE_aligned.
+ * except.c (output_function_exception_table): Likewise.
+
+2001-08-26 Andreas Jaeger <aj@suse.de>
+
+ * c-tree.h: Add prototyp for c_sizeof_nowarn.
+
+2001-08-25 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
+
+2001-08-27 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.c (mask_operand): Rewrite without
+ bit-shifting loop.
+ (mask64_operand): Likewise.
+ (rldic_operand): Delete.
+ (includes_lshift64_p): Delete.
+ (includes_rldic_lshift_p): New function.
+ (includes_rldicr_lshift_p): New function.
+ (print_operand): Don't call rldic_operand in case 'W'.
+ * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
+ (includes_lshift64_p): Remove.
+ (includes_rldic_lshift_p): Declare.
+ (includes_rldicr_lshift_p): Declare.
+ * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
+ * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
+ Replace match_operand rldic_operand predicate with
+ const_int_operand. Replace includes_lshift64_p condition with
+ includes_rldic_lshift_p.
+ <ashldi3_internal 64 bit rldicr patterns>: New.
+
+2001-08-27 Andreas Jaeger <aj@suse.de>
+
+ * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
+ * errors.c: Likewise.
+ * final.c: Likewise.
+ * dwarf2asm.c: Likewise.
+ * doprint.c (checkit): Likewise.
+ * diagnostic.c: Likewise.
+ * collect2.c: Likewise.
+ * calls.c: Likewise.
+ * c-semantics.c (build_stmt): Likewise.
+ * c-format.c (status_warning): Likewise.
+ * c-errors.c (pedwarn_c99): Likewise.
+ * builtins.c (validate_arglist): Likewise.
+ * config/pj/pj.c (pj_printf): Likewise.
+ * fix-header.c: Likewise.
+ * gcc.c: Likewise.
+ * gcov.c (fnotice): Likewise.
+ * gensupport.c (message_with_line): Likewise.
+ * mips-tfile.c: Likewise.
+ * protoize.c (notice): Likewise.
+ * read-rtl.c (fatal_with_file_and_line): Likewise.
+ * rtl-error.c: Likewise.
+ * tradcpp.c: Likewise.
+ * tree.c: Likewise.
+ * cp/tree.c (build_min_nt): Likewise.
+ (build_min): Likewise.
+ * cp/lex.c: Likewise.
+ * cp/errfn.c: Likewise.
+ * cp/rtti.c (create_pseudo_type_info): Likewise.
- Tue Jul 21 05:31:10 1992 Ken Raeburn (raeburn@cygnus.com)
+Sun Aug 26 20:25:44 2001 Denis Chertykov <denisc@overta.ru>
- * cp-tree.h (start_type_method): Deleted unused declaration.
+ * df.c (df_uses_record): Return after recording all uses
+ in ASM_OPERANDS.
- * cp-pt.c (tsubst): Fix propagation of qualifiers in several cases.
+2001-08-26 Daniel Berlin <dan@cgsoftware.com>
- * cp-pt.c (tsubst, case FUNCTION_DECL): Look for matches that differ
- only in return type.
+ * df.c (df_insn_modify): Realloc the INSN table here, if
+ necessary, here, too.
- * cp-pt.c (tsubst, case FUNCTION_DECL): Rewrite name of
- type-conversion operators, in case the target type involves a
- template parameter.
+2001-08-26 Aldy Hernandez <aldyh@redhat.com>
- Mon Jul 20 03:35:44 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
+ * config/mips/mips.c (mips_function_value): Handle complex return
+ values.
- * cp-class.c (add_virtual_function): Don't crash if
- CURRENT_CLASS_TYPE is NULL_TREE.
- * cp-decl2.c (grokfield): Ditto.
+2001-08-25 Hans-Peter Nilsson <hp@bitrange.com>
-Tue Aug 4 15:36:07 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * reload1.c (reload): Make all entries in reg_equiv_memory_loc
+ unshared.
+ * reload.c (make_memloc): Copy result if it is still
+ reg_equiv_memory_loc[regno] on return.
+ (subst_reloads) [ENABLE_CHECKING]: Check that none of
+ reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
+ reg_equiv_mem are modified by the substitutions.
- * c-decl.c (finish_decl): Don't do expand_decl_init for FUNCTION_DECL.
+Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka <jh@suse.cz>
- * c-typeck.c (build_conditional_expr): Merged const and volatile flags
- of incoming types.
+ * predict.c (expensive_function_p): New.
+ * rtl.h (expensive_function_p): Declare.
+ * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
+ (use_fast_prologue_epilogue): New static variable.
+ (expand_prologue): Set it; emit short prologues if unset.
+ (expand_epilogue): Likewise.
-Tue Aug 4 11:15:47 1992 Chip Salzenberg (chip@tct.com)
+2001-08-22 Geoffrey Keating <geoffk@redhat.com>
- * c-decl.c (finish_struct): If bit field is of an unsigned
- type that promotes to int, promote it unsigned if traditional
- or if it is the same size as int.
- (start_function): Ditto for function return value.
- * c-typeck.c (default_conversion): Ditto -- fix bug that
- promotes short to unsigned if sizeof(short) == sizeof(int).
+ * config.gcc: Add stormy16-*-elf case.
+ * config/stormy16/stormy-abi: New file.
+ * config/stormy16/stormy16-lib2.c: New file.
+ * config/stormy16/stormy16-protos.h: New file.
+ * config/stormy16/stormy16.c: New file.
+ * config/stormy16/stormy16.h: New file.
+ * config/stormy16/stormy16.md: New file.
+ * config/stormy16/t-stormy16: New file.
-Tue Aug 4 15:12:51 1992 Tom Wood (wood@dg-rtp.dg.com)
+Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka <jh@suse.cz>
- * svr3.h (USING_SVR3_H): Define.
- * svr4.h (USING_SVR4_H): Define.
- * aoutos.h (USING_AOUTOS_H): Define.
- * m88k.h (EXTRA_SECTIONS): Base on the above defines.
-
-Tue Aug 4 14:22:44 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * dbxout.c: Include output.h.
-
-Tue Aug 4 00:21:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * Makefile.in (install-common): Install protoize and related files
- if they were compiled.
- (install-proto): Target deleted.
- (dbxout.o): Depend on output.h.
-
-Mon Aug 3 02:04:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * c-decl.c (finish_function): Test only can_reach_end for the warning
- about reaching the end of a non-void function.
- (poplevel): If apparently nested inline function has
- DECL_ABSTRACT_ORIGIN, don't output it; propagate TREE_ADDRESSABLE.
- (pushdecl): When copying inline details into an extern decl,
- copy DECL_RESULT, TREE_ASM_WRITTEN. Set DECL_ABSTRACT_ORIGIN.
-
- * c-parse.y (datadef): For empty declaration, use pedwarn.
- * objc-parse.y (datadef, mydecl): Likewise.
-
- * Makefile.in (install-cross-tools): Install nm from tooldir.
-
- * varasm.c: Include real.h.
- * sparcv4.h: Don't include real.h.
-
- * flow.c (mark_used_regs): Do recurse in setting of global hard reg.
- Do set reg_next_use for global hard reg.
-
- * objc-parse.y (reserved_declspecs, declmods): Change as in c-parse.y.
+ * i386.h (no-accumulate-outgoing-args): Use proper mask.
-Mon Aug 3 03:24:17 1992 Paul Eggert (eggert@twinsun.com)
+2001-08-24 David Edelsohn <edelsohn@gnu.org>
- * c-parse.y (reserved_declspecs): Warn if storage class occurs here.
- (declmods): Warn if storage class is not first.
+ * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
+ descriptor members are pointer size, not constant 4.
+ * config/rs6000/rs6000.md (define_splits): Remove more unused
+ constraints.
-Sun Aug 2 21:44:34 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * emit-rtl.c (gen_rtx, case REG): Don't use frame_pointer_rtx or
- arg_pointer_rtx if reload is in progress.
+ * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
- * jump.c (jump_optimize): When replacing jumps with logical
- expressions, use preserve_subexpressions_p.
+2001-08-24 Andreas Jaeger <aj@suse.de>, rkl@connect.org.uk
- * calls.c (expand_call): Use HOST_WIDE_INT instead of int when
- comparing a pointer to an integer constant.
- * flow.c (find_use_as_address): Likewise; also when returning int.
- * integrate.c (expand_inline_function): Cast -1 to (HOST_WIDE_INT)
- first.
+ * cp/rtti.c (VPARAMS): Fix parameter.
- * cse.c (canon_hash): Use HOST_WIDE_INT instead of int when casting
- pointers to integers.
- * print-tree.c (print_node): Likewise.
- * tree.c (TYPE_HASH): Likewise.
- * varasm.c (const_hash, SYMHASH): Likewise.
+2001-08-24 Zack Weinberg <zackw@panix.com>
- * toplev.c: (main): Don't cast pointers to int unnecessarily.
+ * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
+ to zero.
+ (mode_for_extraction): No need for #ifdefs. Add default-case abort
+ to switch.
+ (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv
+ in if controlling use of insv.
+ (extract_bit_field): Likewise, for extv and extzv.
- * tree.c: Include function.h after tree.h.
-
- * rtl.h (NOTE_BLOCK_NUMBER): Change definition to simpler form.
- (SET_NOTE_BLOCK_NUMBER): Deleted.
- (xrealloc, oballoc, permalloc): Declare here as well as in tree.h.
- * function.c (identify_blocks, reorder_blocks): Don't use
- SET_NOTE_BLOCK_NUMBER.
-
- * varasm.c (struct addr_const): Use HOST_WIDE_INT for OFFSET.
-
- * combine.c (reg_sign_bit_copies): New variable.
- (combine_instructions): Initialize it.
- (set_significant): Set it.
- (try_combine): Set subst_low_cuid immediately before calling `subst'
- to the INSN_CUID of the lowest insn involved in the call.
- Change XOR with out-of-range constant to (not (xor ...)).
- Call both split_insns and find_split_point; pass extra parm to
- find_split_point.
- Record I2DEST's value if I2 now sets it; similarly for I1DEST.
- (find_split_point): Add new arg INSN.
- If AND'ing with a large single-bit constant and we only care about
- equality with zero, replace with bit extraction.
- Make two shifts for ZERO_EXTRACTs unless very narrow.
- (subst): Move RESTART label earlier.
- If we have a simple operation applied to IF_THEN_ELSE, move
- the operation inside the two arms.
- (subst, case SUBREG): Use force_to_mode.
- (subst, case NOT): Change (not (xor X C)) to (xor X ~C).
- (subst, case NEG): Remove optimization of (neg (abs X)); redundant.
- Convert (neg (xor A 1)) to (plus A -1) if A is known to be 0 or 1.
- (subst, case IF_THEN_ELSE): Simplify if an arm contains a register
- being tested by substiting the known value.
- Put constant integer in last arm is can reverse comparison.
- (subst, case SET): Use gen_lowpart_for_combine.
- (subst, case AND): Make IF_THEN_ELSE when appropriate.
- (subst, case IOR): (ior A C) can sometimes be just C.
- (subst, case XOR): Go back and restart when canonicalizing.
- (subst, case ABS): Use num_sign_bit_copies.
- (make_extraction): Call force_to_mode.
- (make_compound_operation): Look at optabs rather that explicitly
- checking for operations and assuming we have SImode.
- Handle (ashiftrt (OP (ashift foo C1) C3) C2).
- (force_to_mode): Only change mode of arithmetic if optab says we
- have operation in that mode.
- Remove unneeded ASHIFTRT; add handling for IF_THEN_ELSE.
- (significant_bits, case NEG): Call num_sign_bit_copies.
- (significant_bits, case ABS, case [US]{MIN,MAX}, IF_THEN_ELSE): New.
- (num_sign_bit_copies): New function.
- (simplify_shift_const): Remove ASHIFTRT if value is known -1 or 0.
- Use num_sign_bit_copies to simplify (ashiftrt (ashift ...) ...)
- and (ashiftrt (neg ...) ...).
- Remove now redundant case when VAROP is a PLUS.
- (simplify_comparison): If A is known to be -1 or 0, A != -1 is A == 0.
- Simplify unsigned tests that really check the sign bit.
- (simplify_comparison, case ASHIFTRT): Convert to LSHIFTRT if
- equality comparison with zero.
- (get_last_value): Check if the desired register is set in the
- insn before the one whose INSN_CUID is subst_low_cuid.
-
- * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Add missing
- call to TREE_CODE.
-
- * reload1.c (reload): Set reload_in_progress earlier.
-
- * fold-const.c (optimize_bit_field_compare): Correct bogus use of
- types in expressions; always do computation in a type wide enough
- for the result.
-
-Sun Aug 2 01:30:22 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * objc-parse.y (attrib): Copied from c-parse.y.
-
-Sat Aug 1 13:34:49 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * c-pragma.c (HANDLE_PRAGMA_WEAK): Define only if SET_ASM_OP defined.
-
- * vax-vms.h: Renamed from vms.h.
- * xm-vax-vms.h: Renamed from xm-vms.h.
- * configure (vax-*-vms): Change file names.
-
-Sat Aug 1 16:13:09 1992 Mark Eichin (eichin@cygnus.com)
-
- * config/spc-sol2.h (ASM_OUTPUT_DWARF_STRING): redefinition was
- incorrect, and uneeded; while Solaris as doesn't support .string, it
- does support .asciz, and sparcv4.h takes care of including that
- definition.
+Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka <jh@suse.cz>
-Fri Jul 31 08:19:41 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu
+ * i386.md (movcc peep2): Fix load of 0.
- * combine.c (try_combine): Correctly handle implicit deaths of
- I2DEST and I1DEST.
+2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * cexp.y: Add declaration for xmalloc.
+ * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
+ *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
- * cccp.c: Add declarations for malloc and realloc.
- Include stddef.h when __STDC__ is defined.
- (PTR_INT_TYPE): New macro.
- (pcfinclude): Use it.
+2001-08-23 Jason Merrill <jason_merrill@redhat.com>
- * c-decl.c (init_decl_processing): __builtin_return_address,
- __builtin_frame_address, and __builtin_saveregs all return void *.
+ * c-pragma.h: Move weak_syms and weak_decls...
+ * varasm.c: ...here. Now static.
+ (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
+ depend on HANDLE_PRAGMA_WEAK.
- * reload.c (find_reloads_address_1): Convert another push_reload
- call into a call to find_reloads_address_part.
+ * c-common.c (c_alignof, c_alignof_expr): Move here...
+ * c-typeck.c: ...from here.
+ * c-tree.h, c-common.h: Adjust.
- * reload1.c (gen_input_reload): Correct order of insns emitted
- when using secondary memory.
+2001-08-23 Bernd Schmidt <bernds@redhat.com>
- * reload1.c (reload_as_needed): Add missing semicolon after macro.
+ * config/ia64/ia64.c (rws_update): If !pred, set write_count
+ instead of incrementing it.
- * combine.c (distribute_notes, case REG_DEAD): If a register used
- exactly twice is referenced in both I2 and I3, show it is used 3 times.
+ * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
+ asm ready, don't try to move them all into the same array element.
- * final.c (output_operand): Abort if X is a pseudo.
+Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
- * cse.c (exp_equiv_p, case CONST_INT): Use INTVAL instead of XINT.
+ * function.c (thread_prologue_and_epilogue_insns): Avoid
+ fallthru flag on edge to exit.
- * expr.c (convert_move): Put FROM into a register if it is a SUBREG.
- (For extension case.)
+ * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
-Fri Jul 31 08:19:05 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
+ dead edges.
- * function.c (reposition_prologue_and_epilogue_notes): Search for
- the notes without using basic_block_end[0] or basic_block_head[N-1].
+2001-08-23 Lars Brinkhoff <lars@nocrew.org>
-Fri Jul 31 08:18:18 1992 Michael Meissner (meissner@osf.org)
+ * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
+ * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
+ * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
+ Remove prototype.
- * reorg.c (get_branch_condition): Return 0 if all tests fall through.
+2001-08-23 Lars Brinkhoff <lars@nocrew.org>
-Fri Jul 31 02:28:02 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
+ replace "GNU CC" with "GCC".
- * glimits.h: Renamed from limits.h.
- * Makefile.in (LIMITS_H): Deleted.
- (install-limits-h): Use glimits.h, not limits.h.
- * libgcc2.c: Include glimits.h.
+2001-08-23 Richard Henderson <rth@redhat.com>
-Thu Jul 30 09:54:07 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
+ Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode.
+ (ia64_secondary_reload_class): Need GR between AR/BR and anything.
+ Need GR between FR and not GR_AND_FR.
+ * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
+ * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
+ AR regs before GR regs.
+ (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
+ (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
+ (REGISTER_MOVE_COST): Update.
+ (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
- * m88k.h (FUNCTION_BOUNDARY, ASM_OUTPUT_ALIGN_CODE): Pack code
- more tightly for the m88110.
+2001-08-23 Richard Henderson <rth@redhat.com>
- * m88k.md (cpu attribute): List m88100 first for more efficient
- code in insn-attrtab.c.
+ * regclass.c (init_reg_sets_1): Don't assume cost 2 within
+ a register class.
- * m88k.md (rotate/and split pattern): Fix typo.
+2001-08-22 Geoffrey Keating <geoffk@redhat.com>
-Thu Jul 30 00:02:45 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * reload1.c (emit_reload_insns): Don't look for notes
+ on a NULL store_insn.
+
+2001-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * sparc.c (uns_small_int): Don't reference a constant >32-bit.
+ (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
+ (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
+ format specifier warnings.
+ (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
+
+2001-08-22 David Billinghurst <David.Billinghurst@riotinto.com>
+
+ * config/i386/i386-protos.h: Correct declaration of
+ i386_pe_asm_named_section.
+
+2001-08-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
+ variable i.
+ * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
+
+2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpperror.c (print_location): Don't show _Pragma.
+ * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
+ and file change callback generation here.
+ (stack_include_file): Update use of cpp_push_buffer.
+ * cpphash.h (_cpp_pop_file_buffer): Update prototype.
+ (struct cpp_buffer): Remove type, pfile members.
+ * cppinit.c (cpp_handle_option): Use free_chain.
+ * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
+ (skip_escaped_newlines, get_effective_char, lex_percent): Take
+ a cpp_reader rather than a cpp_buffer.
+ (skip_escaped_newlines, get_effective_char, skip_block_comment,
+ skip_line_comment, parse_string, lex_percent, lex_dot,
+ _cpp_lex_token): Update accordingly.
+ * cpplib.c (_cpp_pop_buffer): Don't do file change callback
+ generation here.
+ (cpp_push_buffer): Update prototype.
+ (run_directive): Update use of cpp_push_buffer.
+ (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
+ handle_assertion): Update use of run_directive.
+ * cpplib.h (enum cpp_buffer_type): Remove.
+ (cpp_push_buffer): Update prototype.
+ * fix-header.c (read_scan_file): Update.
+
+2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
+
+ * gcc.c (struct prefix_list): Change prefix to const char *.
+
+2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
+
+ * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
+
+2001-08-22 Jason Merrill <jason_merrill@redhat.com>
+
+ * explow.c (set_mem_attributes): Avoid returning a bogus alias set
+ from a new MEM.
+
+ * jump.c (squeeze_notes): Take parms by reference. Handle END being
+ a squeezable note.
+ * rtl.h: Adjust.
+ * ifcvt.c (dead_or_predicable): Adjust.
+ * loop.c (find_and_verify_loops): Adjust.
+ * stmt.c (expand_end_case): Adjust.
+ * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the
+ head and end insn pointers in the basic block, not just local copies.
+ (merge_blocks_move_predecessor_nojumps): Likewise.
+
+2001-08-22 Lars Brinkhoff <lars@nocrew.org>
+
+ * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
+ bitmap.h, builtin-types.def, builtins.c, builtins.def,
+ c-aux-info.c, c-common.c, c-common.def, c-common.h,
+ c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
+ c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
+ c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
+ caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
+ conditions.h, config.gcc, configure.frag, configure.in,
+ conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
+ cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
+ dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
+ doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
+ dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
+ emit-rtl.c, errors.c, errors.h, except.c, except.h,
+ exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
+ fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
+ function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
+ gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
+ gencheck.c, gencodes.c, genconfig.c, genemit.c,
+ genextract.c, genflags.c, gengenrtl.c, genmultilib,
+ genopinit.c, genoutput.c, genpeep.c, genrecog.c,
+ gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
+ ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
+ graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
+ gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
+ gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
+ hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
+ integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
+ libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
+ machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
+ mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
+ mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
+ params.h, predict.c, predict.def, predict.h, prefix.c,
+ prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
+ read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
+ regclass.c, regmove.c, regrename.c, regs.h, reload.c,
+ reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
+ rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
+ sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
+ sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
+ ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
+ stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
+ tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
+ tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
+ unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
+ unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
+ xcoffout.h: replace "GNU CC" with "GCC".
+
+2001-08-21 Richard Henderson <rth@redhat.com>
+
+ * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
+ (final_scan_insn): Consider jump tables data even if we have no
+ independent text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
+ ADDR_VEC_ALIGN.
+ * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
+ (ASM_OUTPUT_CASE_END): Remove.
+ (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
+ * config/ia64/ia64.md (tablejump): Decode pc-relative references.
+ * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
+
+2001-08-21 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
+ at barrier insns. Emit stop bits before barriers.
+
+ * flow.c (flow_find_cross_jump): Don't consider unconditional
+ return insns for commoning.
+
+ * final.c (compute_alignments): Fix typo.
+
+ * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
+ (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
+ (store_bit_field): Use mode_for_extraction more places.
+ (extract_bit_field): Likewise.
+
+2001-08-21 Zack Weinberg <zackw@panix.com>
+
+ * caller-save.c: Don't include insn-codes.h.
+ (reg_save_code, reg_restore_code): Make arrays of int.
+ All uses updated to match.
+ (insert_save, insert_restore): No need to initialize "code"
+ variable upon declaration.
+ * Makefile.in: update dependencies; fix typo in clean rule.
+
+2001-08-21 Richard Henderson <rth@redhat.com>
+
+ * ifcvt.c (find_if_block): Allow join_bb as EXIT.
+ (merge_if_block): Handle fallout from same.
+
+2001-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (type_to_class): Fix typo in last change.
+
+2001-08-21 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
+ ia64_asm_output_label.
+
+ * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
+ copy of gp while the real gp register contains garbage.
+
+2001-08-21 Zack Weinberg <zackw@panix.com>
+
+ * expmed.c (mode_for_extraction): New function.
+ (store_bit_field, extract_bit_field): Use it.
+ * expr.h: Prototype it and provide an enum for its first argument.
+
+ * combine.c, function.c, recog.c: Don't include insn-codes.h.
+ Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
+ and digging through the insn_data tables.
+ * Makefile.in: Update dependencies.
+
+2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cppfiles.c (stack_include_file): line-map.c now handles include
+ depth.
+ (handle_missing_handler): Similarly.
+ (_cpp_execute_include): Similarly.
+ (_cpp_pop_file_buffer): Similarly.
+ * cpphash.h (struct cpp_reader): Remove system_include_depth,
+ buffer_stack_depth and include_depth.
+ * cpplib.c (do_include_common): line-map.c now handles include depth.
+ (cpp_push_buffer): Similarly.
+ (_cpp_pop_buffer): Similarly.
+ * cppmacro.c (builtin_macro): Update.
+ * line-map.c (init_line_maps): Set depth.
+ (add_line_map): Increment "used" earlier. Update and use the
+ include depth.
+ (trace_include): Use the include depth.
+ * line-map.h (struct line_maps): New member depth.
+
+2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cppfiles.c (stack_include_file): Don't handle -H here.
+ * cppinit.c (cpp_start_read): Set include tracing after
+ cpp_post_options and after stacking the main file.
+ * line-map.c (trace_include): New.
+ (init_line_maps, add_line_map): Update.
+ * line-map.h (struct line_maps): New member trace_includes.
- * i860mach.h: New file.
- * configure (i860-*-mach*): New alternative.
+2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
- * svr3.h (BSS_SECTION_FUNCTION): New macro.
- (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Enable these.
- * tower-as.h (BSS_SECTION_FUNCTION): Deleted.
- * dpx2.h (EXTRA_SECTION_FUNCTIONS): Deleted.
- * att386.h (BSS_SECTION_FUNCTION): #undef before defining.
+ * cppfiles.c (stack_include_file): Harmonize system headerness tests.
+ * cppfiles.c (stack_include_file): Only stack a file if there
+ is something to do. Return a boolean indicating whether a
+ buffer was stacked or not.
+ (_cpp_execute_include): Similarly.
+ (_cpp_read_file): Similarly.
+ * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
- * i860v3.h (USE_CONST_SECTION): #undef before defining.
+2001-08-21 Sam Steingold <sds@gnu.org>
-Wed Jul 29 20:04:55 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
+ (RECACHE): keep obufp_before_macroname up to date
- * sparc.md (cmpsi): Delete 'J' constraint.
+2001-08-21 Zack Weinberg <zackw@panix.com>
-Wed Jul 29 00:38:45 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * stmt.c: Don't include insn-codes.h.
+ (expand_end_case): Machine specific logic moved to expr.c.
+ No need to worry about __builtin_classify_type.
+ (check_for_full_enumeration_handling, emit_case_nodes):
+ Kill #if 0 blocks.
- * c-lex.c (yylex): When traditional, convert 0x80000000 to -0x80000000.
+ * builtins.o (expand_builtin_classify_type): Split up so code
+ can be shared with fold_builtin_classify_type.
+ (type_to_class, fold_builtin_classify_type): New functions.
+ (fold_builtins): Handle __builtin_classify_type.
- * gcc.c (link_command_spec): Accept -static but do nothing with it.
+ * expr.c (do_tablejump): Now static.
+ (case_values_threshold, try_casesi, try_tablejump): New;
+ code mostly from stmt.c (expand_end_case).
+ (expr.h): Update prototypes.
- * loop.c (move_movables): When testing whether a reg contains
- the function address of a call_insn in a libcall block,
- use reg_referenced_p, to ignore destinations.
+ * Makefile.in (stmt.o): Update dependencies.
- * stor-layout.c (layout_record): Take account of
- maximum_field_alignment when using the field's alignment.
+2001-08-21 Will Cohen <wcohen@redhat.com>
- * c-parse.y (attrib): Fix previous change--the missing arg
- was the last arg.
+ * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
+ declaration of variable i.
+ * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
+ declaration of variable i.
- * fixincludes: Don't repeat the directory-link-chasing loop
- more than twice. Combine $prevdirs with $dirs--they had same value.
- Properly discard $d itself from the output of find.
- Find the links to directories by finding each link
- and testing it with test. Add $newdirs into $files.
+2001-08-21 Richard Henderson <rth@redhat.com>
-Tue Jul 28 12:46:31 1992 Michael Meissner (meissner@osf.org)
+ * crtstuff.c: Fix thinko last change. Move list tails to start
+ of CRT_END section. Tidy ifdefs.
+ (__EH_FRAME_BEGIN__): Always static for ELF.
+ (__do_global_ctors_1): Rename from __frame_dummy.
+ * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
+ name change; don't hide __EH_FRAME_BEGIN__.
- * c-common.c (decl_attributes): Call layout_decl with two arguments.
+2001-08-21 Richard Henderson <rth@redhat.com>
- * c-parse.y (attribute processing): Correctly call tree_cons with
- three arguments, passing NULL_TREE for the purpose argument.
+ * gdbinit.in: Move break on exit after break on fancy_abort.
- * emit-rtl.c (make_insn_raw): Eliminate unused argument pat_formals,
- and modify all callers.
- (make_jump_insn_raw): Ditto.
+ * config/ia64/ia64.c (ia64_return_in_memory): True for variable
+ sized types.
- * reorg.c (fill_slots_from_thread): Function follow_jumps only takes
- one argument.
- (relax_delay_slots): Ditto.
+2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
-Tue Jul 28 16:04:43 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * cpphash.h (_cpp_push_next_buffer): New.
+ * cppinit.c (do_includes): Remove.
+ (push_include, free_chain, _cpp_push_next_buffer): New.
+ (cpp_start_read): Use them to rework command line option handling.
+ (cpp_handle_option): Combine handling of -include and -imacros.
+ * cpplex.c (_cpp_lex_token): Push a new -include buffer if
+ appropriate. Always insert missing \n at EOF.
+ * cpplib.c (start_directive): Get the directive position right.
+ * cppmain.c (cb_file_change): Always print the first line, unless
+ preprocessed.
- * dpx2g.h (ASM_OUTPUT_IDENT): #undef it.
+2001-08-20 Andreas Jaeger <aj@suse.de>
- * c-decl.c (duplicate_decls): Handle warn_redundant_decls here.
- But don't warn if function definition follows a declaration.
- (pushdecl): Don't handle it here.
- (grokparms): Don't warn about non-prototype decl in system header.
+ * profile.c (compute_branch_probabilities): Remove extra new-line
+ in error message.
+ * flow.c (verify_flow_info): Likewise.
- * c-convert.c (convert): If main variants match,
- but the type is not identical, make a NOP_EXPR.
+2001-08-20 Diego Novillo <dnovillo@redhat.com>
-Tue Jul 28 10:06:18 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
+ * basic-block.h (basic_block): Add new field 'flags'.
+ (BB_REACHABLE): Define.
+ (expunge_block): Declare.
+ * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
+ (EXIT_BLOCK_PTR): Ditto.
+ (expunge_block): Remove static declaration.
+ (cleanup_cfg): Clear bb->aux on every basic block.
+ (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
+ computing reachability.
+ (delete_unreachable_blocks): Delete block b if b->flags has
+ BB_REACHABLE unset.
- * mips.md: Correct use of `*' in constraints. Put it before each
- letter to ignore, not each group to ignore.
+2001-08-20 Diego Novillo <dnovillo@redhat.com>
-Tue Jul 28 01:23:35 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
- * dbxout.c (dbxout_parms): Do something for structures
- passed by invisible reference, and living in memory.
+2001-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * gstddef.h (wchar_t): Alternate typedef for C++.
+ * sparc.c (sparc_variable_issue): Fix typo in last change.
- * Makefile.in (extraclean): Delete config/ChangeLog.
+2001-08-20 Richard Henderson <rth@redhat.com>
- * m68k.md (probe): Use %a0 to output the address.
+ * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
-Mon Jul 27 20:08:21 1992 Mike Stump (mrs@hal)
+2001-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
- * c++: Fix errors introduced by rms. Bullet-proof handling of
- arguments with funny things in them such as newlines, spaces, tabs,
- single quotes, double quotes, etc...
+ * pa.h (RETURN_IN_MEMORY): Improve comment.
-Mon Jul 27 17:38:52 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+2001-08-20 Janis Johnson <janis187@us.ibm.com>
- * sparc.md: Add DEFINE_SPLITs to optimize logic operation with
- certain immediate values.
+ * doc/invoke.texi (Profiling options): Clarify the interactions
+ between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
- * sparc.md: Correct inconsistent operand constraints in peepholes.
+2001-08-20 Jeffrey Oldham <oldham@codesourcery.com>
- * sparc.h (ASM_LONG, ASM_SHORT, ASM_BYTE_OP): Definitions added.
- (ASM_OUTPUT_DOUBLE): Use REAL_VALUE_TO_TARGET_DOUBLE to convert.
- (ASM_OUTPUT_FLOAT): Use REAL_VALUE_TO_TARGET_SINGLE to convert.
- (ASM_OUTPUT_INT): Use ASM_LONG pseudo-op.
- (ASM_OUTPUT_SHORT): Use ASM_SHORT pseudo-op.
- (ASM_OUTPUT_CHAR): Use ASM_BYTE_OP pseudo-op.
- (ASM_OUTPUT_BYTE): Use ASM_BYTE_OP pseudo-op.
+ * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
+ command.
-Mon Jul 27 17:10:19 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
- * gstdarg.h (va_arg): Don't use +=; no need to set AP twice.
+ * gcc.c (make_relative_prefix): Allocate a sufficiently large
+ buffer.
-Sun Jul 26 14:21:13 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-20 Richard Henderson <rth@redhat.com>
- * final.c (final_scan_insn): Align jump table only if
- READONLY_DATA_SECTION. Otherwise, the table is in the text section.
+ * final.c (end_final): Fix typo last change.
- * collect2.c (dup2): Defined, if NO_DUP2.
+2001-08-20 Neil Booth <neil@daikokuya.demon.co.uk>
- * plexus.h: New file.
- * m68k.c (output_function_prologue): Make a probe instruction
- if NEED_PROBE if nonzero.
- * configure (m68k-plexus-sysv*): New alternative.
+ * cppinit.c (init_standard_includes): The returned buffer
+ is already malloc-ed.
+ * gcc.c (add_prefix): Similarly.
+ * prefix.c (translate_name): Update to support clear buffer
+ ownership rules.
+ (update_path): Similarly. Be sure to free any newly allocated
+ key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
+ (tr): New function.
+ * prefix.h (update_path): Update prototype and document.
+ * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
+ up and update to new buffer ownership rules.
+ * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
- * c-convert.c (convert): Succeed if TYPE is the main variant
- of the given type.
- * c-typeck.c (build_conditional_expr): Compare using TYPE_MAIN_VARIANT.
+Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka <jh@suse.cz>
- * c-decl.c (duplicate_decls): Copy old RTL *before* make_var_volatile.
+ * final.c (compute_alignments): New function.
+ (init_insn_lengths): Do not care label_align.
+ (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
+ (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
+ (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
+ (shorted_branches): Realloc label_align array; do
+ not call init_insn_lengths; Do not care about loop alignments.
+ * output.h (compute_alignments): Declare.
+ * toplev.c (rest_of_compilation): Call compute_alignments.
+ * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
-Sat Jul 25 21:45:44 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * predict.c (block_info_def): Add npredecesors, remove nvisited;
+ change visited to tovisit.
+ (propagate_freq): Use faster traversing algorithm.
+ (estimate_loops_at_level, estimate_bb_frequencies): Change visited
+ to tovisit; reverse meaning.
- * c-decl.c (pushdecl): Never reuse global fcn decl in place of
- local extern; just copy some info from it.
+ * predict.c (struct block_info_def): Remove nvisited.
+ (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
+ (estimate_bb_frequencies): Call mark_dfs_back_edges.
-Sat Jul 25 06:14:58 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-08-19 Geoffrey Keating <geoffk@redhat.com>
- * expmed.c (expand_divmod): Eliminate the generation of branches
- when possible.
+ * doc/invoke.texi (MIPS Options): Document -mfused-madd.
+ * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
+ (TARGET_FUSED_MADD): New.
+ (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
+ * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
+ the multiply-add instructions.
-Sat Jul 25 04:34:09 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-19 Richard Henderson <rth@redhat.com>
- * fixincludes (X11/Xmu/Xmu.h): Fix this or X11/Xmu.h,
- whichever exists.
+ * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
+ is aligned to pointer size.
-Sat Jul 25 00:41:12 1992 Paul Eggert (eggert@twinsun.com)
+2001-08-19 Richard Henderson <rth@redhat.com>
- * c-parse.y (datadecl): Diagnose empty declarations in old-style
- function headers.
- * c-decl.c (shadow_tag_warned): New function.
+ * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
+ display markers during final schedule.
- * c-lex.c (yylex): Diagnose `1.0fl'. Issue just one
- diagnostic for `1e1000000f'.
+2001-08-19 Richard Henderson <rth@redhat.com>
-Fri Jul 24 19:25:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
- * dbxout.c (dbxout_symbol): Distinguish implicit C++ typedefs
- from explicit C typedefs for structs, using DECL_SOURCE_LINE.
+2001-08-19 Richard Henderson <rth@redhat.com>
- * c-decl.c (duplicate_decls): Use TYPE_MAIN_VARIANT even for compares
- with void_type_node.
- (grokdeclarator, get_parm_info, store_parm_decls): Likewise.
+ * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
+ in the same string.
+ (ASM_NAME_TO_STRING): Remove.
+ * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
+ in the same string. Remove support for expressions.
-Fri Jul 24 10:07:13 PDT 1992 Ron Guilmette (rfg at ncd.com)
+2001-08-19 Richard Henderson <rth@redhat.com>
- * dwarfout.c (is_tagged_type): New function added.
- (member_attribute): Use it.
- (type_ok_for_scope): Rewritten to eliminate serious bugs.
- (output_type): Call `output_pending_types_for_scope' at the end of
- struct/union types (which are themselves scopes in C++).
+ * config/i386/i386.md (tablejump): Make an expander; handle
+ pic relative addressing here.
+ (tablejump_1): Rename from tablejump_pic.
+ (casesi): Remove.
-Fri Jul 24 13:36:46 1992 Michael Meissner (meissner@osf.org)
+2001-08-19 Richard Henderson <rth@redhat.com>
- * dbxout.c (toplevel): Include defaults.h to get the definition of
- ASM_STABD_OP.
+ * regclass.c (fix_register): Fix typo.
- * Makefile.in (dbxout.o): Add defaults.h dependent.
+2001-08-18 Richard Henderson <rth@redhat.com>
- * i386rose.h (CC1_SPEC): Remove MIPS switches accidently left in.
+ * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
+ (struct _Unwind_Context): Expand br_loc to hold it.
+ (uw_frame_state_for): Handle leaf functions better.
+ (uw_update_reg_address): Update for br_loc change.
+
+2001-08-18 Richard Henderson <rth@redhat.com>
+
+ * crtstuff.c: Move list heads before code that uses them.
+ (__JCR_LIST__): Remove initial null.
+ (frame_dummy, __frame_dummy): Do java registration here ...
+ (__do_global_ctors_aux): ... not here.
+
+ * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
+ (__do_global_dtors_aux): Update to match.
+ (__JCR_LIST__, __do_jv_register_classes): New.
+ (.init): Call it.
+ * config/ia64/crtend.asm (__JCR_END__): New.
+ (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
+ instead of an indirect LTOFF22 reloc.
+
+2001-08-18 Richard Henderson <rth@redhat.com>
+
+ * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
+ * regclass.c (init_reg_sets_1): Fix typo.
+ * config/ia64/ia64.c (ar_pfs_reg_operand): New.
+ (ia64_expand_call): Pass ar.pfs to sibcall expanders.
+ (ia64_compute_frame_size): Make ar.unat live when in use.
+ (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
+ for ar.pfs; remove ar.unat handling.
+ * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
+ call-saved.
+ (PREDICATE_CODES): Add ar_pfs_reg_operand.
+ * config/ia64/ia64-protos.h: Update decls.
+ * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
+ (sibcall_pic): Likewise.
+
+2001-08-18 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
+ pred_rel_mutex when searching for insn_group_barrier.
+ * config/ia64/ia64.md (cycle_display): Combine the expander
+ and insn patterns.
+
+ * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
+ bit before asm as needed.
+
+2001-08-18 Richard Henderson <rth@redhat.com>
+
+ * timevar.def (TV_MACH_DEP): New.
+ * toplev.c (rest_of_compilation): Use it.
+ * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
+
+2001-08-18 Zack Weinberg <zackw@panix.com>
+
+ * unwind-dw2.c (execute_stack_op): Add default aborts to
+ the inner switches to prevent warnings.
+
+2001-08-18 Richard Henderson <rth@redhat.com>
+
+ * timevar.h (struct timevar_time_def): Change element type to float.
+ (ticks_to_msec, clocks_to_msec): Likewise.
+ (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
+ (get_time): Likewise.
+ (timevar_print): Adjust zero check and printing to match.
-Thu Jul 23 09:49:43 PDT 1992 Ron Guilmette (rfg at ncd.com)
+2001-08-18 Zack Weinberg <zackw@panix.com>
- * dwarfout.c (is_body_block): Rewritten for greater saftey.
- (output_block): Fixed to deal correctly with non-inlined blocks.
-
-Thu Jul 23 15:37:23 1992 Jeffrey A Law (law at schirf.cs.utah.edu)
-
- * flow.c (propagate_block): Change "struct foo" to "struct sometimes".
-
-Thu Jul 23 15:10:51 1992 Tom Wood (wood@dg-rtp.dg.com)
-
- * m88k.h (ASM_OUTPUT_CASE_LABEL): Change to readonly section if the
- table contains addresses.
- (JUMP_TABLES_IN_TEXT_SECTION): True by default.
-
-Thu Jul 23 13:54:27 1992 Michael Meissner (meissner@osf.org)
-
- * mips.c (large_int): Use HOST_WIDE_INT type to hold INTVAL.
- (gen_int_relational): Ditto.
- (gen_conditonal_branch): Don't emit any insns if the result is
- always false, and emit a normal jump if the result is always true.
-
- * mips.c (mips_move_1word): Count LABEL_REF's as a memory
- reference. Rework half-pic load of symbols, to not expect movsi
- to have converted the load address into a load, and for CONST's,
- do the addition after the pointer is loaded.
-
- * mips.md (type attribute, movsi3): Eliminate 'pic' attribute,
- just use 'load' instead.
- (fix_truncdfsi2): Make this a define_insn, instead of a
- define_exapnd and an insn, and use match_scratch to allocate the
- two scratch registers. Adjust length costs, so that they match
- the current code the assembler produces.
- (fix_truncsfsi2): Ditto.
- (movsi): Don't convert load of half-pic addresses and CONST's into
- the real load. It causes more problems than it solves. Adjust
- cost of half-pic addresses to be 2, not 4.
-
- * mips-tfile.c (parse_def): Allow spaces in names, since C++
- templates produce things like: #.def SMANIP<long unsigned int>; ...
- (parse_stabs_common): Code from Lisa Repka, to handle symbol +/-
- offset, and to look up things in the external string table, if the
- name is not found in the local string table.
-
-Wed Jul 22 13:08:33 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
-
- * sparc.md (movdf+1): Use new 'T' and 'U' constraints to
- determine when an ldd or std will have a length of 1, and
- therefore is eligible for use in some delay slots.
- (uncond_branch): New attribute used for unconditional branches.
- All unconditional branch patterns changed.
- (define_delays and delay slot attributes): Do not allow
- uncond_branch instructions in delay slots. Do not allow fpload or
- fpstore operations in a conditional branch delay slot. Allow
- fpload and fpstore in call, unconditional branch, and annuled
- conditional branch delay slots.
-
- * sparc.c (registers_ok_for_ldd_peep, addrs_ok_for_ldd_peep):
- Functions renamed from registers_ok_for_ldd and
- memory_ok_for_ldd respectively. All callers changed.
- (register_ok_for_ldd): New function to determine if a register is
- a pseudo or the first register in a hard register pair.
- (mem_aligned_8): No longer static. Return 0 instead of aborting
- when presented an rtx which is not a MEM.
- (eligible_for_epilogue_delay): Use in_uncond_branch_delay since
- this in an unconditional branch.
-
- * sparc.h (EXTRA_CONSTRAINT) Add new 'T' and 'U' constraints
- which check for aligned accesses to memory and register pairs.
-
-Wed Jul 22 11:22:37 1992 Michael Meissner (meissner@osf.org)
-
- * mips.h (MIPS_VERSION): Bump meissner version number to 22.
- (extern declarations): Add declarations for asm_file_name,
- call_used_regs, langguage_string, save_argv, version_string,
- mips_{begin,end,expand}_{pro,epi}logue, simple_epilogue_p,
- {address,const_{double,int},general,{,non}immediate}_operand,
- memory_address_p, {{,non}memory,register,scratch}_operand,
- abort_with_insn, debug_rtx, fatal_io_error, get_frame_size,
- offsettable_address_p, output_address, permalloc,
- reg_mentioned_p, abort, atoi, getenv, mktemp, and
- mips_expand_{epi,pro}logue.
- (*_REGNUM): Add in GP_REG_FIRST in case registers are ever
- renumbered.
- (struct mips_frame_info): Add num_gp, num_fp fields.
- (SECONDARY_MEMORY_NEEDED): Define, return 1 unless -mdebugh if
- moving between FP <-> GP registers.
-
- * mips.c (extern declarations): Move most of the declarations to
- mips.h, except for those of type 'rtx' or 'tree', since not all
- files include rtl.h and tree.h. Add more declarations for gen_xxx
- functions that are now used.
- (reg_or_0_operand): Add default case for switch on enumeration, to
- allow compiling with -Wall.
- (simple_memory_operand): Ditto.
- (mips_count_memory_refs): Ditto.
- (mips_move_1word): Ditto.
- (mips_move_2words): Ditto.
- (mips_address_cost): Ditto.
- (map_test_to_internal_test): Ditto.
- (mips_move_1word): Align asm comments in loading negative ints.
- (mips_move_1word): Use GEN_INT macro to generate CONST_INT's.
- (mips_move_2words): Ditto.
- (gen_int_relational): Ditto.
- (block_move_load_store): Ditto.
- (block_move_loop): Ditto.
- (expand_block_move): Ditto.
- (block_move_load_store): #if 0, not currently used.
- (block_move_sequence): Ditto.
- (compute_frame_size): Fill in num_gp and num_fp fields.
- (simple_prologue_p): Rename from null_prologue.
- (save_restore_insns): New function to emit appropriate save and
- restore operations for prologue/epilogue -- only prologue used at
- present.
- (function_prologue): Move generation of instructions to
- mips_expand_prologue.
- (mips_expand_prologue): Generate appropriate insns for the
- prologue of the function.
- (mips_expand_epilogue): Generate appropriate insns for the
- epilogue of the function -- not called at present.
-
- * mips.md (ashldi3_internal): Add `&' constraint to operand 0.
- (ashrdi3_internal): Add `&' constraint to operand 0.
- (return): Turn this into a define expand that wraps a return and a
- USE reg:31 inside of a parallel.
- (return_internal): Insn form of return instruction.
- (prologue): New define expand to generate the necessary
- instructions for the function prologue.
- (mov{si,hi,qi}): Split the integer move INSNs into two groups,
- those that support -mdebugh and allow ints to be in floating
- point registers, and those that don't allow it.
-
-Tue Jul 21 21:27:43 1992 Mike Stump (mrs@albert.gnu.ai.mit.edu)
-
- * Complete 9th Cygnus <---> FSF merge.
-
- Tue Jul 21 03:17:05 1992 Mark Eichin (eichin@cygnus.com)
-
- * cp-lex.c (process_next_inline): when bailing out on a parse error,
- throw away nextchar as well in case it got set.
-
- Tue Jul 21 05:31:10 1992 Ken Raeburn (raeburn@cygnus.com)
-
- * cp-pt.c (tsubst, case FUNCTION_DECL): If the context class has a
- null method vector, don't look inside it for its size.
-
- Thu Jul 16 16:02:55 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * cp-typeck.c (convert_for_assignment): If assigning (void*)
- to a normal pointer, emit a warning, not an error. There is
- a lot of existing code (including libg++ and converted C
- code) that expects to be able to assign from (void*).
-
- Tue Jul 14 06:59:38 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
-
- * cp-decl.c (finish_function): Call destructors correctly when
- baseclasses are replicated in the inheritance hierarchy.
-
- Mon Jul 13 05:16:10 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
-
- * cp-typeck.c (build_modify_expr): If we split a COND_EXPR in order
- to perform the assignment in each arm, convert the rhs of each
- branch according to RESULT_TYPE.
-
- * cp-typeck.c (convert_for_assignment): Treat null_pointer_node
- specially when converting to non-void pointers.
-
- * cp-class.c (modify_vtable_entries): In the loop that modifies
- vtable entries for each non-virtual baseclass, correctly handle
- cases where BASE is an ambiguous baseclass for BASE_CONTEXT.
-
- Sun Jul 12 01:32:31 1992 Mike Stump (mrs@cygnus.com)
-
- Wed May 27 01:33:24 1992 Ron Guilmette (rfg at ncd.com)
-
- * cp-type2.c (store_init_value), cp-typeck.c
- (build_modify_expr, convert_arguments,
- build_binary_op_nodefault, convert_for_assignment), cp-parse.y
- (member_init, template_def, datadef, stmt): changed some
- pedantics into !traditionals and reworded error messages.
-
- Sun Jul 12 01:11:53 1992 Mike Stump (mrs@cygnus.com)
-
- Jul 1992 Ron Guilmette (rfg at ncd.com)
-
- * cp-decl.c (finish_function): Set BLOCK_SUPERCONTEXT for the
- outermost scopes of functions to point to the associated
- FUNCTION_DECL nodes.
-
- Fri Jul 10 17:52:36 1992 Ken Raeburn (raeburn@cygnus.com)
-
- * cp-decl.c (struct binding_level): New field pseudo_global
- indicates that this binding level should be treated like the global
- binding level in some respects.
- (declare_pseudo_global_level, pseudo_global_level_p): Set and test
- routines.
- (push_overloaded_decl): Don't forget overloads in pseudo-global
- binding levels.
- * cp-pt.c (tsubst, case FUNCTION_DECL): Search for an existing decl
- before creating a new one.
- (overload_template_name): Make new level pseudo-global.
- (type_unification): Indicate failure for unknown_type_node.
- (unify): Likewise.
+ * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
+ doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
+ Eliminate overfull or underfull hboxes.
- Wed Jul 8 01:59:03 1992 Mike Stump (mrs@cygnus.com)
+2001-08-18 Zack Weinberg <zackw@panix.com>
- * cp-decl.c (lookup_name, grokvardecl, grokdeclarator),
- cp-call.c (build_field_call), cp-seach.c (lookup_field),
- cp-typeck.c (build_component_ref), cp-lex.c (do_identifier),
- cp-init.c (expand_member_init, build_member_call,
- build_offset_ref): lookup_field now has 4 arguments.
+ * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
- Wed Jul 8 01:14:43 1992 Mike Stump (mrs@cygnus.com)
+2001-08-18 Zack Weinberg <zackw@panix.com>
- * cp-parse.y (primary): Call to lookup_name needs 2 arguments.
+ * haifa-sched.c: Convert to target hooks. Macros replaced
+ are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
+ MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
+ MD_SCHED_FINISH, and HAVE_cycle_display.
+ * target-def.h (TARGET_SCHED_ADJUST_COST,
+ TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
+ TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
+ TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
+ TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
+ New hook #defines to be overridden.
+ (TARGET_SCHED): Bring them all together.
+ (TARGET_INITIALIZER): Update.
+ * target.h: Don't forward declare struct rtx_def. Use 'rtx'
+ instead of 'struct rtx_def *' throughout.
+ (struct sched): New set of hooks for the scheduler.
+ * Makefile.in (haifa-sched.o): Depend on target.h.
+ * doc/tm.texi: Document the new scheduler hooks, together in
+ their own section, instead of scattered around.
+ Fix a bunch of underfull/overfull hboxes.
+
+ * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
+ ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
+ sparc.h: Don't define any of the old scheduler macros.
+
+ * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
+ ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
+ sparc.c: Create hook functions from code extracted from
+ corresponding target header, or make existing hooks static, as
+ appropriate. Set the appropriate entries in targetm.
+
+ * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
+ i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
+ rs6000-protos.h, s390-protos.h, sparc-protos.h:
+ Remove prototypes for functions which are now static.
+
+ * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
+ related gunk; the Haifa scheduler is now the only choice.
+
+2001-08-18 Zack Weinberg <zackw@panix.com>
+
+ * optabs.h (OTI_flodiv, flodiv_optab): Kill.
+ * genopinit.c: Put floating point divide insns in sdiv_optab.
+ * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
+ * config/gofast.h, config/c4x/c4x.h,
+ config/ia64/hpux_longdouble.h, config/mips/mips.h,
+ config/pa/long_double.h, config/rs6000/sysv4.h,
+ config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
+ * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
+ (init_optabs): Use init_optabv for overflow-trapping optabs.
+ Don't init flodiv_optab. Give mov_optab, movstrict_optab, and
+ cmp_optab RTX codes so have_insn_for can find them.
+
+ * optabs.c (expand_simple_binop, expand_simple_unop,
+ have_insn_for, gen_sub3_insn): New interfaces.
+ * expr.h: Prototype new functions.
+ (enum optab_methods): Move here from optabs.h.
+
+ * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
+ loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
+ Use new functions instead of working directly with optabs.
+ * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
+ unroll.c: Don't include optabs.h.
+ * caller-save.c, combine.c, function.c, stmt.c: Just include
+ insn-codes.h, not optabs.h.
+ * Makefile.in: Update dependencies.
+
+ * combine.c (make_compound_operation, simplify_comparison):
+ Fix typos testing for this or that instruction.
+
+2001-08-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+ * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
+ generating libgcc.a.
+
+2001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * except.c (TYPE_HASH): Delete.
+
+ * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
+ HOST_WIDE_INT.
+
+ * tree.c (TYPE_HASH): Delete.
+
+ * tree.h (TYPE_HASH): Define.
+
+2001-08-18 Graham Stott <grahams@redhat.com>
+
+ * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
+ define_split.
+ (adddi3_internal_2+2): Likewise.
+ (eh_set_lr_di+1): Likewise.
+
+2001-08-17 Richard Henderson <rth@redhat.com>
+
+ * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
+ * dwarf2asm.c: ... here.
+ * dwarfout.c: Remove them.
+
+ * varasm.c (assemble_integer): Add align parameter.
+ (assemble_real, output_constant, output_constructor): Likewise.
+ * output.h: Update decls.
+ * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
+ config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
+ config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
+ config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
+ config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
+ Update all callers.
+
+ * final.c (end_final): Abort profile block generation if we
+ haven't layed it out properly.
+ * output.h (assemble_eh_integer): Remove stale decl.
+ * varasm.c (assemble_zeros): Tidy; use assemble_integer.
+ (min_align): New.
+ (assemble_integer): Handle unaligned data.
+ (assemble_real): Abort on unaligned data.
+ (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
+ anything useful.
+ (default_dtor_section_asm_out_destructor): Use assemble_align.
+ (default_named_section_asm_out_constructor): Likewise.
+ (default_ctor_section_asm_out_constructor): Likewise.
+ * config/darwin.c (machopic_asm_out_constructor): Likewise.
+ (machopic_asm_out_destructor): Likewise.
+ * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
+ (nextstep_asm_out_destructor): Likewise.
+ * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
+ (vms_asm_out_destructor): Likewise.
+
+2001-08-17 Richard Henderson <rth@redhat.com>
+
+ * config/mips/iris6.h (TARGET_IRIX6): New.
+ (current_section_name, current_section_flags): New.
+ (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
+ (MAX_OFILE_ALIGNMENT): New.
+ (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
+ * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
+ (copy_file_data): Split out from
+ (mips_asm_file_end): ... here.
+ (mips_asm_file_start): Remove extra .section directive. Use
+ tmpfile instead of mips_make_temp_file.
+ (mips_unique_section): Use const char * as needed for warnings.
+ (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
+ re-add align parameter.
+ (iris6_asm_named_section): New.
+ (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
+ (iris6_asm_output_align, iris6_section_align_1): New.
+ (iris6_asm_file_start, iris6_asm_file_end): New.
+ * config/mips/mips-protos.h: Update decls.
+
+2001-08-17 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/install.texi (Install GCC): Add links to build status pages.
+ (Specific): Ditto.
+ (Final install): Ditto; request updates for specific info
+
+2001-08-17 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpperror.c (print_location): Don't take a file name; use the
+ line map instead.
+ (_cpp_begin_message): Similarly.
+ (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
+ cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
+ (cpp_pedwarn_with_file_and_line): Remove.
+ * cppfiles.c (stack_include_file): Update; set filename to stdin
+ here when appropriate.
+ * cpphash.h (struct cpp_buffer): Remove nominal_fname.
+ (_cpp_begin_message): Don't take a file name.
+ * cppinit.c: Add comment.
+ * cpplex.c: Fix end-of-directive indicator.
+ * cpplib.c: Don't include intl.h.
+ (run_directive, do_diagnostic): Update.
+ (do_line): Update to not use nominal_fname.
+ (cpp_push_buffer): Don't take a filename.
+ * cpplib.h (struct ht): Remove.
+ (cpp_push_buffer): Don't take a filename.
+ (cpp_pedwarn_with_file_and_line): Remove.
+ * cppmacro.c (struct cpp_macro): Remove file.
+ (builtin_macro): Update.
+ (_cpp_create_definition): Update.
+ * cppmain.c: Correct comment.
+ * fix-header.c (read_scan_file): Update.
+
+2001-08-17 Kazu Hirata <kazu@hxi.com>
+
+ * sbitmap.c: Fix comment formatting.
+ * sched-deps.c: Likewise.
+ * sibcall.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * ssa.c: Likewise.
+ * ssa-ccp.c: Likewise.
+ * stor-layout.c: Likewise.
+ * timevar.c: Likewise.
+ * toplev.c: Likewise.
+ * unwind-dw2.c: Likewise.
+ * unwind-dw2-fde.c: Likewise.
+ * varasm.c: Likewise.
+
+2001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
+ or larger than an integer in memory.
+
+2001-08-17 Zack Weinberg <zackw@panix.com>
+
+ * system.h: Forward-declare struct rtx_def, struct rtvec_def,
+ and union tree_node. Typedef rtx, rtvec, and tree. Fix comment.
+ * rtl.h: Don't forward-declare union tree_node here. Don't
+ typedef rtx or rtvec here. Change all uses of struct rtx_def *,
+ struct rtvec_def *, or union tree_node * to use rtx, rtvec,
+ and tree respectively.
+ * tree.h: Don't forward-declare struct rtx_def here. Don't
+ typedef tree here. Change all uses of struct rtx_def *,
+ struct rtvec_def *, or union tree_node * to use rtx, rtvec,
+ and tree respectively.
+
+2001-08-17 Richard Henderson <rth@redhat.com>
+
+ * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
+ config/mips/openbsd.h: Fix typos last change.
+
+2001-08-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/invoke.texi (Optimize Options): The default for
+ -finline-limit is 600.
+
+2001-08-17 Richard Henderson <rth@redhat.com>
+
+ * varasm.c (text_section): Allow TEXT_SECTION to override the
+ printing of TEXT_SECTION_ASM_OP.
+ * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
+ (DATA_SECTION, BSS_SECTION): Remove.
+ * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
+ RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
+ Rename from s/_NAME//.
+ * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
+ (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
+ (TEXT_SECTION): ... here. New.
+ * config/mips/elf.h (TEXT_SECTION): New; no file switching.
+ * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
+ * config/mips/openbsd.h: Likewise.
+ * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
+ (mips_asm_file_end): Likewise test.
+ (mips_output_function_epilogue): Likewise. Switch back to data
+ section after emitting the function.
+
+ * doc/tm.texi (Sections): Document TEXT_SECTION.
+
+2001-08-17 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
+ (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info.
+
+2001-08-17 Richard Henderson <rth@redhat.com>
+
+ * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
+ * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
+ __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
+ Add aligned attribute.
+
+2001-08-17 Andrew Haley <aph@cambridge.redhat.com>
+
+ * config/sh/sh.md: Add modes to unspecs in first insn to match
+ those in the second.
+
+ * Makefile.in: Fix collect2 copy for Cygwin.
+
+Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ Install the proper patch.
+ * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
+ (assign_params): Avoid setting DECL_RTL to unfinished RTX.
+ (expand_function_start): Likewise.
+ * stmt.c (expand_decl): Likewise.
+ * varasm.c (make_decl_rtx): Likewise.
- Tue Jul 7 21:14:05 1992 Mike Stump (mrs@cygnus.com)
+Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka <jh@suse.cz>
- * cp-method.c (build_overload_name): Handle INTEGER_TYPEs
- cleanly and uniformly.
+ * final.c: Undo my previous accidental checkin.
+ * output.h: Likewise.
+ * tm.texi: Likewise.
- Tue Jul 7 09:19:52 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
+2001-08-16 Richard Henderson <rth@redhat.com>
- * cp-call.c (build_method_call): If `convert_to_pointer' returns
- error_mark_node, return that without doing any more work.
+ * varasm.c (named_section_flags): Remove align parameter.
+ * varasm.c, dwarf2out.c: Update all callers.
+ * output.h: Update prototypes.
- Thu Jul 2 15:42:28 1992 Mike Stump (mrs@cygnus.com)
+ * target.h (target.asm_out.named_section): Remove align parameter.
+ * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
+ config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
+ config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
+ config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
+ config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
- Thu Jul 2 18:08:42 1992 Chip Salzenberg (chip at tct.com)
+ * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
+ (get_named_section_flags, set_named_section_flags): New.
+ (named_section_flags): Use them.
+ (named_section): Do decl vs section flags check here...
+ (default_section_type_flags): ... not here.
+ (init_varasm_once): Create in_named_htab.
+ (resolve_unique_section): Mark reloc unused.
- * cp-typeck.c (convert_arguments): Don't assume that error
- message will be short enough for fixed-length buffer.
+2001-08-16 Richard Henderson <rth@redhat.com>
- Wed Jul 1 19:52:59 1992 Mike Stump (mrs at cygnus.com)
+ * varasm.c (force_const_mem): Keep pool alignment in bits.
+ (output_constant_pool): Use assemble_align.
- Wed Jun 3 12:57:57 1992 Brendan Kehoe (brendan@cs.widener.edu)
+2001-08-16 Zack Weinberg <zackw@panix.com>
- * cp-decl2.c (grokbitfield): Only do width checking on properly
- parsed bitfields.
+ * doc/tm.texi: Remove extra @table command.
- Wed Jul 1 18:58:17 1992 Mike Stump (mrs at cygnus.com)
+2001-08-16 Zack Weinberg <zackw@panix.com>
- Wed May 27 01:33:24 1992 Ron Guilmette (rfg at ncd.com)
+ * final.c (shorten_branches): Clear the end of the label_align
+ array only if we made it larger. Break up messy expressions
+ for clarity.
- * cp-lex.c (readescape), cp-parse.y (unary_expr, maybecomma_warn,
- component_decl_list, stmt), cp-type2.c (digest_init), cp-typeck.c
- (c_sizeof, build_function_call_real, convert_arguments,
- build_binary_op_nodefault, pointer_int_sum, pointer_diff,
- build_unary_op, c_expand_return): change some warnings to
- pedwarns. Put in new pedwarns, change wording of messages so that
- they are more readable. Don't issue some warnings when
- traditional is given.
+ * diagnostic.c (internal_error): Check for error recursion
+ before doing ICE suppression.
- Wed Jul 1 13:56:30 1992 Mike Stump (mrs at cygnus.com)
+ * timevar.c: Timing variables now count in milliseconds.
+ (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
+ (get_time): Not here.
+ (timevar_print): Don't print any timer whose user, cpu, and
+ wall times are all zero as displayed.
+ * timevar.h: Update comment aboout units. Make timevar
+ counters unsigned.
- Wed Apr 29 23:37:00 1992 Niklas Hallqvist (niklas at appli.se)
+Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
- * cp-decl.c (finish_decl): make sure destructors are called for
- objects in a file.
+ * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
+ (assign_params): Avoid setting DECL_RTL to unfinished RTX.
+ (expand_function_start): Likewise.
+ * stmt.c (expand_decl): Likewise.
+ * varasm.c (make_decl_rtx): Likewise.
- Wed Jul 1 11:12:05 1992 Mike Stump (mrs at cygnus.com)
+2001-08-16 Jason Merrill <jason_merrill@redhat.com>
- * cp-lex.c: extract YYEMPTY out of the parser generated .c
- file and put in the parser .h so that cp-lex.c does not have
- to define it.
+ * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
+ (finalize_record_size): Don't set TYPE_USER_ALIGN.
- Mon Jun 29 12:58:59 1992 Mike Stump (mrs at cygnus.com)
+2001-08-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
- Mon Jun 29 15:20:48 1992 Chip Salzenberg (chip at tct.com)
+ * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
+ variables.
- * cp-cvt.c (convert_to_integer): Don't add a NOP_EXPR in cases
- where we can simply change the type of the entire tree.
+2001-08-16 Andreas Jaeger <aj@suse.de>
- Mon Jun 29 10:56:56 1992 Mike Stump (mrs at cygnus.com)
+ * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
+ prototype.
- * c++: Makes sure -lg++ comes before -lm since libg++ uses
- things from libm.
+Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com)
- Mon Jun 22 13:47:42 1992 Mike Stump (mrs at cygnus.com)
+ * rtl.h (only_sets_cc0_p): New prototype.
+ * jump.c (sets_cc0_p): Handle INSN.
+ (only_sets_cc0_p): New function.
+ * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
+ (tidy_fallthru_edge): Likewise.
+ * integrate.c (copy_insn_list): Likewise.
+ * unroll.c (unroll_loop): Likewise.
+ (copy_loop_body): Likewise.
- Sun Jun 21 14:06:41 1992 Brendan Kehoe (brendan at cs.widener.edu)
+2001-08-15 Jason Eckhardt <jle@redhat.com>
- * cp-typeck.c (convert_for_initialization): Only try to convert a
- rhs that was parsed properly.
+ * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
- Mon Jun 22 13:31:40 1992 Jim Wilson (wilson at sphagnum.cygnus.com)
+Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka <jh@suse.cz>
- * cp-parse.y (primary): Clear the TREE_USED flag of a block tree
- put in a BIND_EXPR.
+ * predict.c (struct block_info_def): Remove nvisited.
+ (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
+ (estimate_bb_frequencies): Call mark_dfs_back_edges.
- Sun Jun 21 09:59:58 1992 Michael Tiemann (tiemann at rtl.cygnus.com)
+ * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
+ (ix86_adjust_cost): Teach scheduler that latency to load operand can
+ be masked.
- * cp-type2.c (build_scoped_ref): Use SCRATCH for head of typelist,
- rather than calling alloca.
+Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka <jh@suse.cz>
- Fri Jun 19 16:23:02 1992 Mike Stump (mrs at cygnus.com)
+ * predict.def: Update hitrates.
- * cp-pt.c (unify): Type unification of things that do not have a
- valid IDENTIFIER_TEMPLATE fail instead of core dumping.
+2001-08-15 Richard Henderson <rth@redhat.com>
- Wed Jun 17 13:36:04 1992 Michael Tiemann (tiemann at rtl.cygnus.com)
+ * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
- * cp-pt.c (tsubst): Don't try to substitute into error_mark_node.
+Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com)
- * cp-decl.c (grokparms): Convert initializers that have
- TREE_READONLY_DECL_P set into their constant equivalents.
+ * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
+ note from its associated jump.
- Tue Jun 16 19:09:23 1992 Mike Stump (mrs at cygnus.com)
+2001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
- Wed Jun 3 12:57:57 1992 Brendan Kehoe (brendan at cs.widener.edu)
+ * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
+ also on 64-bit s390x targets.
- * cp-decl.c (grokdeclarator): Disallow virtual functions in unions.
+2001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
- Tue Jun 16 18:11:45 1992 Mike Stump (mrs at cygnus.com)
+ * config/arm/arm.c (arm_compute_initial_elimination_offset): New
+ function.
+ (arm_expand_prologue): Handled nested functions which take a
+ variable argument list.
+ * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
+ macro with an invocation of
+ arm_compute_initial_elimination_offset.
+ * config/arm/arm-protos.h: Prototype
+ arm_compute_initial_elimination_offset.
- Wed Jun 3 12:57:57 1992 Brendan Kehoe (brendan at cs.widener.edu)
+2001-08-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
- * cp-class.c (finish_struct): Forbid local classes to have static
- members.
+ * doc/install.texi (Specific, avr): Fix markup.
+ (Specific, c4x): Ditto.
- Mon Jun 15 21:44:08 1992 Mike Stump (mrs at cygnus.com)
+2001-08-14 Matt Kraai <kraai@alumni.carnegiemellon.edu>
- Tue Jun 2 09:26:34 1992 Brendan Kehoe (brendan at cs.widener.edu)
+ * predict.c (dump_prediction): Change `bool' parameter to `int'.
- * cp-init.c (build_new): Don't allow the use of new on a reference.
+2001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
- Mon Jun 15 20:52:08 1992 Mike Stump (mrs at cygnus.com)
+ * Makefile.in (OBJS): Add rtl-error.o
+ (rtl-error.o): New rule.
+ (diagnostic.o): Adjust dependency.
+ diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
+ error_for_asm, _fatal_insn, _fatal_insn_not_found,
+ warning_for_asm): Move to...
+ rtl-error.c: ...here. New file.
- Tue Jun 2 09:26:34 1992 Brendan Kehoe (brendan at cs.widener.edu)
+2001-08-14 Richard Henderson <rth@redhat.com>
- * cp-decl.c (grokparms): Don't allow a local variable to be used
- in a default argument expression.
+ * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
+ if USING_SJLJ_EXCEPTIONS.
- Mon Jun 15 18:54:28 1992 Mike Stump (mrs at cygnus.com)
+2001-08-14 Steve Ellcey <sje@cup.hp.com>
- * cp-decl.c (finish_decl): Add an error message for uninitialized
- const objects like const int a;.
+ * tlink.c (scan_linker_output): Check string for unsatisfied in
+ addition to undefined and unresolved.
- Mon Jun 15 16:05:22 1992 Mike Stump (mrs at cygnus.com)
+2001-08-14 Graham Stott <grahams@redhat.com>
- Not sure if it is strictly necessary for the C++ front end, but...
+ * libgcc2.c (*): Replace EH_FRAME_SECTION with
+ EH_FRAME_SECTION_NAME.
- Sun May 31 15:31:46 1992 Brendan Kehoe (brendan at cs.widener.edu)
+Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka <jh@suse.cz>
- * cp-typeck.c (self_promoting_args_p): Allow the arg type to be
- null (copied from Oct 16, 1991 change by Wood).
+ * genattrtab.c (simplify_test_exp_in_temp): New function.
+ (simplify_test_exp): Avoid explicit use of temporary obstack.
+ (simplify_cond, insert_right_side, evaluate_eq_attr,
+ simplify_and_tree, simplify_or_tree, eliminate_known_true):
+ Use simplify_test_exp_in_temp.
+ (optimize_attrs): Iterate until expression stabilizes.
- Fri Jun 12 16:42:05 1992 Mike Stump (mrs at cygnus.com)
+2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>:
- * cp-typeck.c (build_binary_op_nodefault): Conditionalize code that
- deals with the comparison of non-distinct object types, thus avoiding
- a core dump.
+ * glimits.h: Remove the __LONG_MAX__ special case for s390x.
+ * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
- Fri Jun 12 10:23:17 1992 Mike Stump (mrs at cygnus.com)
+2001-08-13 Richard Henderson <rth@redhat.com>
- Wed Jun 10 19:20:29 1992 Brendan Kehoe (brendan at cs.widener.edu)
+ * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
+ (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
+ * config/arm/conix-elf.h: Likewise.
- * cp-tree.c (break_out_calls): Begin at 1 less than the length of
- the length of the tree code, not the length itself, for generic
- expressions and those with side-effects.
+2001-08-13 Geoffrey Keating <geoffk@redhat.com>
- Thu Jun 11 17:43:55 1992 Mike Stump (mrs at cygnus.com)
+ * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
+ in gcc.c.
+ * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
- * cp-init.c (expand_default_init): New function to handle the
- details of default copy constructors and other magic in one place.
+ * gcse.c (hash_scan_set): Expressions that are set as part of
+ jump instructions are not available.
- * cp-init.c (expand_aggr_init_1): Implement default constructors
- more fully.
+2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
- Thu Jun 11 17:16:54 1992 Mike Stump (mrs at cygnus.com)
+ * config/s390/s390.c (print_operand, s390_function_prologue,
+ s390_va_start): Fixed HOST_WIDE_INT type mismatch.
- * cp-call.c (build_method_call): Don't produce an error message if
- we are looking up things speculatively.
+2001-08-13 Richard Henderson <rth@redhat.com>
- Thu Jun 11 10:58:47 1992 Mike Stump (mrs at cygnus.com)
+ * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
+ * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
+ * doc/tm.texi (Exception Region Output): Document it.
- * cp-call.c (convert_harshness): Penalize const arguments passed
- into non-const parameters.
+2001-08-13 Geoffrey Keating <geoffk@redhat.com>
- Thu Jun 11 10:02:52 1992 Mike Stump (mrs at cygnus.com)
+ * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
+ DWARF2 instead of stabs by default.
- * cp-typeck.c (build_c_cast): Implement more reference casts so
- that one can cast a base reference to a derived reference.
+2001-08-13 David Edelsohn <edelsohn@gnu.org>
-Tue Jul 21 15:28:36 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * config/rs6000/rs6000.c: Include optabs.h.
- * sparc.h (SECONDARY_MEMORY_NEEDED): Define to force reload to
- handle any copy between GENERAL_REGS and FP_REGS.
+2001-08-13 David Edelsohn <edelsohn@gnu.org>
- * sched.c (schedule_block): Give some insns high priorities,
- instead of excluding them from scheduling, to ensure that they end
- up at the end of the block after scheduling.
+ * config/rs6000/eabi.asm: Define 64-bit versions of FPR
+ save/restore routines.
+ * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
- * i960.c (i960_output_ldconst): Use REAL_VALUE_FROM_CONST_DOUBLE
- instead of pointer indirection to extract double from CONST_DOUBLE.
+2001-08-13 Andreas Jaeger <aj@suse.de>
-Tue Jul 21 14:05:34 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
+ the english is correct.
- * svr4.h (HANDLE_SYSV_PRAGMA): Defined.
+2001-08-13 Zack Weinberg <zackw@panix.com>
- * sol-crt*.asm: Renamed from sol-crt*.s, and put in config.
- * t-sol2 (crt*.o): Changed accordingly. Also use $(AS).
+ * expr.h: Split out optab- and libfunc-related code to...
+ * optabs.h, libfuncs.h: ... these new headers.
- * gbl-ctors.h (ON_EXIT): Test HAVE_ATEXIT before sun.
+ * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
+ (OPTABS_H): New.
+ (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
+ dependencies.
+ * mkconfig.sh: Don't include insn-codes.h from config.h.
-Mon Jul 20 18:56:02 1992 Fred Fish (fnf at fishpond)
+ * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
+ enum insn_code is available. Move reload_in_optab and
+ reload_out_optab array declarations to optabs.h.
+ * regmove.c (gen_add3_insn): Move to optabs.c, export from
+ there, prototype in expr.h.
+ * gencodes.c: Cleanup: zap global variables, don't use
+ printf where puts will do, don't bother defining MAX_INSN_CODE
+ which nothing uses, let CODE_FOR_nothing get its value implicitly.
- * svr4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): New macro--default definition.
- (ASM_OUTPUT_CASE_LABEL): Use that.
- * m68ksgs.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Do the swbeg here.
- (ASM_OUTPUT_CASE_LABEL): Use that.
+ * genemit.c, genopinit.c: Include optabs.h in generated file.
+ * genoutput.c: Include insn-codes.h in generated file.
+ * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
+ expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
+ reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
+ config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
+ config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
+ config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
+ Include optabs.h.
+ * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
+ optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
+ config/m88k/m88k.c, config/sparc/sparc.c:
+ Include libfuncs.h.
+ * reload.c: Include expr.h and optabs.h before reload.h.
+ * config/alpha/alpha.c: Include tree.h before reload.h.
+ * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
+ and reload.h in that order.
+ * config/sparc/sparc.c: Include debug.h.
+ * recog.c: Include insn-codes.h.
- * configure (m68k-*-amix*): Use fixinc.svr4 and install.sh.
+2001-08-13 Andreas Jaeger <aj@suse.de>
- * x-amix (ENQUIRE_CFLAGS): Remove; obsolete.
+ * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
+ s390*linux.
- * amix.h (TRANSFER_FROM_TRAMPOLINE): Remove #undef.
+2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-Mon Jul 20 17:45:46 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * dwarf2out.c (output_cfa_loc): Fix typo in comment.
+ * gcc.c (init_spec): Fix typo in comment.
+ * varasm.c (data_section): Fix typo in comment.
- * dbxout.c (dbxout_source_line): New function.
- * final.c (output_source_line): Use that.
+Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz>
- * configure (sparc-*-sunos5*): New alias.
- (sparc-*-solaris2*): Use t-sol2.
+ * predict.c (dump_prediction): New argument "USED".
+ (combine_predictions_for_insn): Determine the used heuristics,
+ output the case no heuristic applied.
+ * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
- * i860.md (mulsi3_little, mulsi3_big): New define_expand patterns.
- (mulsi3): Just use one of them.
+2001-08-13 Andreas Jaeger <aj@suse.de>
- * Makefile.in (install-fixincludes): Pass second and third args.
+ * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
+ register %rip.
-Mon Jul 20 16:07:12 1992 Pat Rankin (rankin@eql.caltech.edu)
+2001-08-13 Kazu Hirata <kazu@hxi.com>
- * vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): change _c$main_args to
- uppercase instead of relying on gas to make the case translation
+ * jump.c: Fix formatting.
-Sun Jul 19 00:04:16 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-13 Kazu Hirata <kazu@hxi.com>
- * c-tree.h (C_PROMOTING_INTEGER_TYPE_P): New macro.
- * c-decl.c (duplicate_decls, grokdeclarator, finish_struct):
- Use C_PROMOTING_INTEGER_TYPE_P to decide whether a type promotes.
- (start_function): Likewise.
- * c-typeck.c (default_conversion): Use C_PROMOTING_INTEGER_TYPE_P
- to decide whether a type should promote.
- (self_promoting_args_p, self_promoting_type_p): Likewise.
+ * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
+ length.
- * c-aux-info.c (gen_type): For array type, state the size.
+2001-08-12 Geoffrey Keating <geoffk@redhat.com>
+
+ * loop.c (check_dbra_loop): Use condjump_label to compute
+ jump_label.
+
+ * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
+ to better document the files they're in.
+
+2001-08-12 Zack Weinberg <zackw@panix.com>
+
+ * recog.h (struct insn_operand_data): Shrink 'mode' field
+ to 16 bits.
+
+2001-08-12 Kazu Hirata <kazu@hxi.com>
+
+ * gcc.c: Fix comment formatting.
+ * gccspec.c: Likewise.
+ * gcov.c: Likewise.
+ * gcse.c: Likewise.
+ * genemit.c: Likewise.
+ * gengenrtl.c: Likewise.
+ * genrecog.c: Likewise.
+ * gensupport.c: Likewise.
+ * ggc-page.c: Likewise.
+ * global.c: Likewise.
+ * graph.c: Likewise.
+ * ifcvt.c: Likewise.
+ * integrate.c: Likewise.
+ * lcm.c: Likewise.
+ * libgcc2.c: Likewise.
+ * loop.c: Likewise.
+ * mbchar.c: Likewise.
+ * optabs.c: Likewise.
+ * predict.c: Likewise.
+ * prefix.c: Likewise.
+ * profile.c: Likewise.
+ * protoize.c: Likewise.
+ * real.c: Likewise.
+ * recog.c: Likewise.
+ * regclass.c: Likewise.
+ * regmove.c: Likewise.
+ * reg-stack.c: Likewise.
+ * reload1.c: Likewise.
+ * resource.c: Likewise.
+ * rtlanal.c: Likewise.
+ * rtl.c: Likewise.
+
+2001-08-12 Kazu Hirata <kazu@hxi.com>
+
+ * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
+ a tree representing a constant is passed to the macro.
+
+2001-08-12 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
+ (rs6000_elf_asm_out_destructor): New.
+ * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
+ (DTORS_SECTION_ASM_OP): Remove.
+ (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
+
+2001-08-12 David Edelsohn <edelsohn@gnu.org>
+
+ Revert:
+ 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+ * gcc.c (set_collect_gcc_options): New function, split out from
+ main.
+ Ignore elided switches.
+ (do_spec_1): Invoke before executing command.
+ (set_input): Export.
+ Move declaration ...
+ * gcc.h (set_input): ... here.
+ * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
+ file.
- * final.c (output_addr_const): Handle ZERO_EXTEND and SIGN_EXTEND.
- * expr.c (expand_expr, NOP_EXPR case): If EXPAND_INITIALIZER,
- generate ZERO_EXTEND or SIGN_EXTEND; don't emit insns.
+2001-08-12 Richard Henderson <rth@redhat.com>
- * function.c (assign_parms): Use const0_rtx as DECL_RTL and as
- DECL_INCOMING_RTL if tmode of parm is void.
+ * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
+ thinko wrt TARGET_RELOCATABLE.
- * jump.c (mark_jump_label): Don't make REG_LABEL for nonlocal label.
- * loop.c (add_label_notes): Don't make REG_LABEL for nonlocal label.
- (rtx_renumbered_equal_p): Use == to compare nonlocal labels.
+2001-08-12 Neil Booth <neil@daikokuya.demon.co.uk>
- * rtl.h (LABEL_REF_NONLOCAL_P): New macro.
- * expr.c (expand_expr): Set LABEL_REF_NONLOCAL_P for nonlocal labels.
- * reload1.c (set_label_offsets): Ignore nonlocal labels.
+ * fix-header.c (cb_file_change): Update prototype.
- * c-parse.y (primary): Set TREE_CONSTANT in the NOP_EXPR for an enum.
+2001-08-11 Zack Weinberg <zackw@panix.com>
- * Solaris changes from Cygnus:
+ * toplev.c (set_float_handler): Make static.
+ * toplev.h: Don't prototype set_float_handler.
- * fixinc.svr4: take a third argument indicating where files to be
- copied in should come from (useful when not building in source
- directory).
- Set TERM to dumb so ex won't hang (by zoo).
- * fixincludes: Take the same new argument.
+ * simplify-rtx.c: Don't include setjmp.h.
+ (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
+ New functions.
+ (simplify_unary_operation, simplify_binary_operation): Use them,
+ via do_float_handler.
- * gmon-sol2.c: New file.
- * t-sol2: New file.
- * sol2-crt1.s, sol2-crti.s, sol2-crtn.s: New files.
+ * fold-const.c: Don't include setjmp.h.
+ (exact_real_inverse_1): New function.
+ (exact_real_inverse): Use it, via do_float_handler.
- * xm-spcv4.h (ONLY_INT_FIELDS): Define, if __GNUC__.
+ * varasm.c: Don't include setjmp.h.
+ (assemble_real_1): New function.
+ (assemble_real): Use it, via do_float_handler.
+ Call internal_error if we get a trap here.
- * sparc.h (FUNCTION_PROFILER): Use ASM_OUTPUT_INTERNAL_LABELREF.
- (FUNCTION_BLOCK_PROFILER): Mark with FIXME that it needs work.
- (ASM_OUTPUT_INTERNAL_LABELREF): Define.
- * spc-sol2.h: Entire file is new except for
- defining MD_STARTFILE_PREFIX.
- * dbxout.c (dbxout_block): obey DBX_BLOCKS_FUNCTION_RELATIVE
- (dbxout_init): Use ASM_IDENTIFY_GCC_AFTER_SOURCE if defined.
+ * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
+ config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
- * sparc.h (CONSTANT_ALIGNMENT): Add parens for Sun compiler.
+2001-08-11 Zack Weinberg <zackw@panix.com>
-Sun Jul 19 11:03:56 1992 Fred Fish (fnf at fishpond)
+ * defaults.h: Define PREFERRED_STACK_BOUNDARY to
+ STACK_BOUNDARY if not already defined.
- * i386v4.h (real.h): Remove apparently unnecessary inclusion.
- * i386v4.h (HANDLE_SYSV_PRAGMA): Replaces HANDLE_PRAGMA.
+ * calls.c, function.c, reload1.c, explow.c: Don't default
+ PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
+ PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
-Sat Jul 18 20:37:37 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * explow.c (allocate_dynamic_stack_space): Change unsafe #if
+ to run-time test.
- * c-typeck.c (build_binary_op): Don't set shorten for signed division.
+ * doc/tm.texi: Document that STACK_BOUNDARY is required;
+ clarify difference between it and PREFERRED_STACK_BOUNDARY.
- * final.c (end_final): Align the table of addresses.
+2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
-Fri Jul 17 23:49:28 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * cppmacro.c (enter_macro_context): Push macro expansions even
+ if empty.
- * cexp.y: Include stdio.h.
+2001-08-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-Fri Jul 17 06:17:34 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * config/rs6000/rs6000.c: Include integrate.h to silence warning.
+ (rs6000_elf_section_type_flags): Actually return a value.
- * cp-tree.h (DECL_THIS_EXTERN): Renamed from DECL_EXTERNAL.
- * cp-pt.c, cp-decl.c: Rename DECL_EXTERNAL -> DECL_THIS_EXTERN and
- then rename TREE_EXTERNAL -> DECL_EXTERNAL.
+2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
-Fri Jul 17 05:59:26 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
+ Clean up code: add missing comments and prototypes, fix warnings,
+ remove obsolete code, fix spacing to conform to coding style.
- * function.c (instantiate_decls{,_1}): Don't do instantiation
- here if the address is mode-dependent.
+2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
+ and TARGET_ASM_CLOSE_PAREN.
+ (regclass_map): CC register belongs to class NO_REGS.
+ (legitimize_pic_address): Don't generate unnecessary moves
+ (to avoid confusing loop optimization).
+ (check_and_change_labels): Replace jump_long by indirect_jump.
+ (s390_final_chunkify): Don't start a new literal pool on section
+ switch in 64-bit code.
+ (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
+
+ * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
+ (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
+ (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
+ modes correctly.
+ (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
+ (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
+ (CONST_COSTS): Fixed incorrect costs.
+
+ * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
+ Use emit_jump instead of emit_jump_insn (gen_jump).
+ (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
+ (to avoid confusing flow analysis).
+ (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi.
+ (casesi, casesi_jump): New.
+ (jump_long): Removed. Functionality merged into indirect_jump.
+ (indirect_jump): Accept address_operand, not just register_operand.
+ (cjump_long, icjump_long): Use same logic as indirect_jump.
+ (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
+ Fixed broken setjmp/longjmp handling.
+ (do_builtin_setjmp_setup): Removed.
+
+ * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
+ broken GNU as versions that don't accept .quad with large
+ negative values. Use hexadecimal output instead.
+ (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
+ (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
+ FUNCTION_EPILOGUE): Removed. Now in targetm.
+
+ * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
+
+ * config/s390/fixdfdi.h: Add missing copyright statement.
+ Fix type conflicts on 64-bit. Add missing SFmode routines.
+
+ * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
+ email address.
+
+2001-08-11 Richard Henderson <rth@redhat.com>
+
+ * rtl.h (REG_EH_RETHROW): Remove.
+ * rtl.c (reg_note_name): Update.
+ * combine.c (distribute_notes): Don't check for it.
+
+2001-08-11 Richard Henderson <rth@redhat.com>
+
+ * combine.c (distribute_notes): Place REG_SETJMP.
+
+2001-08-11 Richard Henderson <rth@redhat.com>
+
+ * doc/extend.texi (Arrays and pointers implementation): Discourage
+ relying on sign-extension of pointers.
+
+2001-08-11 H.J. Lu <hjl@gnu.org>
+
+ * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
+ in_dtors.
+ (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
+ RDATA_SECTION_ASM_OP.
+
+2001-08-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Specific, c4x): Fix cross-reference to the
+ main manual to work both for info and HTML versions.
+
+2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
+ Matt Kraai <kraai@alumni.carnegiemellon.edu>
+
+ * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
+ * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
+ (struct cpp_pool): New member first.
+ * cppinit.c (append_include_chain): Plug memory leaks.
+ * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
+ Allocate pragma structures from the (aligned) macro pool to
+ avoid leaking memory.
+ * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
+ so we don't leak memory.
+ * hashtable.c (ht_destroy): New.
+ * hashtable.h (ht_destroy): New.
+
+2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
+ Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * c-lex.c (map): Make const.
+ (cb_file_change): Update for callback passing a line map.
+ Don't assume we have a previous map. Remove sanity check
+ about popping too many files.
+ * cpperror.c (print_location): Make map const.
+ * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
+ (cpp_make_system_header): Similarly.
+ (search_from): Similarly.
+ (_cpp_execute_include): Don't remember where we came from.
+ * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
+ (struct cpp_reader): Make map const.
+ (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
+ * cpplib.c (do_line): Update; line maps now hold sysp.
+ (cpp_push_buffer): Similarly.
+ (_cpp_do_file_change): Similarly; callback with map instead.
+ (cpp_get_line_maps): Constify return value.
+ (_cpp_pop_buffer): Update.
+ * cpplib.h (struct cpp_file_change): Remove.
+ (struct cpp_callbacks): Update.
+ (cpp_get_line_maps): Constify return value.
+ * cppmacro.c (_cpp_create_definition): Update.
+ * cppmain.c (struct printer): Constify map.
+ (maybe_print_line): Similarly.
+ (print_line): Similarly. Deduce flags 1 and 2 here.
+ (cb_file_change): Update.
+ * line-map.c (free_line_maps): Warn regardless.
+ (add_line_map): Return pointer to const. When passed NULL to_file
+ with LC_LEAVE, use the obvious values for the return point so the
+ caller doesn't have to figure them out.
+ (lookup_line): Return pointer to const.
+ (print_containing_files): Take pointer to const.
+ * line-map.h (struct line_map): New members reason, sysp.
+ (add_line_map): Return pointer to const.
+ (lookup_line): Similarly.
+ (print_containing_files): Take pointer to const.
+
+2001-08-10 Roman Zippel <zippel@linux-m68k.org>
+ Richard Henderson <rth@redhat.com>
+
+ * regmove.c (regmove_optimize): Avoid setting a register twice in
+ a parallel set.
+
+2001-08-10 Richard Henderson <rth@redhat.com>
- * libgcc2.c: Include tconfig.h instead of tm.h.
- Include machmode.h.
- (__do_global_dtors): Cast to widest integer type, then narrow, to
- avoid warning if int is narrower than pointer.
- * Makefile.in (libgcc2.a): Includes machmode.h.
+ * doc/extend.texi (Arrays and pointers implementation): Document
+ behavior of pointer/integer conversion.
- * cse.c (cse_insn): Allow paradoxical SUBREGs in the table.
+2001-08-10 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
+
+2001-08-10 Richard Henderson <rth@redhat.com>
+
+ * doc/extend.texi (C Implementation): New chapter.
+ * doc/gcc.texi (Top): Link it in.
+
+2001-08-10 Andrew Cagney <ac131313@redhat.com>
+
+ * doc/install.texi (Specific): Fix CVS merge botch.
+
+2001-08-10 Richard Henderson <rth@redhat.com>
+
+ * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
+ ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
+
+2001-08-10 Zack Weinberg <zackw@stanford.edu>
+
+ * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
+ if not already defined. Remove all #ifdefs on STACK_BOUNDARY;
+ this macro is now required.
+
+ * cselib.c (cselib_process_insn), flow.c (propagate_block),
+ loop.c (find_and_verify_loops), reload.c (reload): Check
+ for rtx code of CALL_INSN, not CALL, when deciding if we
+ need to check for REG_SETJMP note.
+
+ * gcse.c (compute_hash_table, compute_store_table): Update
+ the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
+ logic.
+
+ * config/avr/avr.c: Fix typo.
+ * config/convex/convex.c (expand_movstr): Use adjust_address.
+ * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
+ variable.
+ * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
+ * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
+ Fix typo.
+ * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
+ Do define STACK_BOUNDARY.
+ * config/i370/i370.c: Include expr.h.
+ * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
+ config/pa/som.h, config/v850/v850.h: Take in_ctors and
+ in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
+ and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
+ * config/m88k/m88k.c: Include c-tree.h after expr.h.
+ * config/pdp11/pdp11.c: Include expr.h and toplev.h.
+ * config/romp/romp.c: Include expr.h after tree.h.
+ Include toplev.h.
+ (output_fpop): Use xmalloc, not oballoc.
+ * config/we32k/we32k.c: Include expr.h.
+
+2001-08-10 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.h: Fix formatting.
+
+2001-08-08 Jason Merrill <jason_merrill@redhat.com>
+
+ * c-common.h (RETURN_NULLIFIED_P): Lose.
+ * c-semantics.c (genrtl_return_stmt): Don't check it.
+
+2001-08-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
+ (mips_annotate_frame_insn): New function.
+ (mips_emit_frame_related_store): New function.
+ (save_restore_insns): Don't mark instructions that set up the base
+ registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to
+ the store instructions instead.
+ (mips_expand_prologue): If the stack size is moved into a temporary
+ register, do not mark that move as frame-related. Add a
+ REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
+
+2001-08-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (save_restore_insns): Don't mark the RA's
+ stack slot as unchanging if current_function_calls_eh_return.
+
+2001-08-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
+ access the second half of the TFmode scratch operand.
+
+2001-08-10 Anthony Green <green@redhat.com>
+
+ * java/class.c (emit_register_classes): Conditionalize code on
+ JCR_SECTION_NAME.
+
+2001-08-10 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Specific, avr): Fix cross-reference to the
+ main manual to work both for info and HTML versions.
+
+2001-08-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * stmt.c (expand_null_return_1): Remove code to generate simple returns
+ and "use_goto" argument.
+ (expand_null_return, expand_value_return): Update all callers.
+ * function.c (expand_function_end): Remove code to generate simple
+ return.
+ * config/vax/vax.md (epilogue): New expander for function return.
+ * doc/md.texi (epilogue): Remove "if defined".
+
+2001-08-09 Zack Weinberg <zackw@stanford.edu>
+
+ * Makefile.in: Partially revert my previous change:
+ put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
+ of the hashtab.o and safe-ctype.o rules.
+
+2001-08-09 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
+ (USE_COLLECT2): Remove duplicate definition.
+ * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
+ (use_collect2): Remove dead code.
+ * configure.in (use_collect2): Remove will_use_collect2 and
+ maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
+ * configure: Rebuild.
+
+ * target.h (targetm.asm_out.constructor): New.
+ (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
+ * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
+ (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
+ * varasm.c (in_ctors, in_dtors): New.
+ (assemble_constructor, assemble_destructor): Remove.
+ (default_stabs_asm_out_destructor): New.
+ (default_named_section_asm_out_destructor): New.
+ (dtors_section, default_dtor_section_asm_out_destructor): New.
+ (default_stabs_asm_out_constructor): New.
+ (default_named_section_asm_out_constructor): New.
+ (ctors_section, default_ctor_section_asm_out_constructor): New.
+ * output.h: Update declarations.
+ * c-decl.c (c_expand_body): Use target hooks instead of
+ assemble_constructor and assemble_destructor.
+ * profile.c (output_func_start_profiler): Likewise.
+ * objc/objc-act.c (finish_objc): Likewise.
+ (build_module_descriptor): Tidy. Set TREE_PUBLIC properly
+ for the constructor.
+ * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
+
+ * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
+ (DTORS_SECTION_ASM_OP): Likewise.
+ (__CTOR_LIST__): Use attribute section when possible.
+ (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
+
+ * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
+ ASM_OUTPUT_CONSTRUCTOR.
+
+ * config/darwin.c (machopic_asm_out_constructor): New.
+ (machopic_asm_out_destructor): New.
+ * config/darwin-protos.h: Update declarations.
+ * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ (ASM_OUTPUT_DESTRUCTOR): Remove.
+ (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ * config/nextstep.c (nextstep_asm_out_constructor): New.
+ (nextstep_asm_out_destructor): New.
+ * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ (ASM_OUTPUT_DESTRUCTOR): Remove.
+ (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
+ ASM_OUTPUT_*STRUCTOR.
+ * config/i386/aix386ng.h: Likewise.
+
+ * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
+ (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
+ (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
+ (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
+ * config/lynx.h: Likewise.
+ * config/netware.h: Likewise.
+ * config/psos.h: Likewise.
+ * config/alpha/alpha-interix.h: Likewise.
+ * config/alpha/elf.h: Likewise.
+ * config/arc/arc.h: Likewise.
+ * config/arm/aof.h: Likewise.
+ * config/arm/coff.h: Likewise.
+ * config/arm/elf.h: Likewise.
+ * config/c4x/c4x.h: Likewise.
+ * config/h8300/h8300.h: Likewise.
+ * config/i386/cygwin.h: Likewise.
+ * config/i386/djgpp.h: Likewise.
+ * config/i386/i386-coff.h: Likewise.
+ * config/i386/i386-interix.h: Likewise.
+ * config/i386/sco5.h: Likewise.
+ * config/i386/vsta.h: Likewise.
+ * config/i386/win32.h: Likewise.
+ * config/i960/i960-coff.h: Likewise.
+ * config/ia64/sysv4.h: Likewise.
+ * config/m68hc11/m68hc11.h: Likewise.
+ * config/m68k/coff.h: Likewise.
+ * config/m68k/mot3300.h: Likewise.
+ * config/m88k/m88k.h: Likewise.
+ * config/mcore/mcore-pe.h: Likewise.
+ * config/mcore/mcore.h: Likewise.
+ * config/mips/elf.h: Likewise.
+ * config/mips/elf64.h: Likewise.
+ * config/mips/iris6.h: Likewise.
+ * config/pa/pa64-hpux.h: Likewise.
+ * config/rs6000/sysv4.h: Likewise.
+ * config/sh/sh.h: Likewise.
+ * config/sparc/litecoff.h: Likewise.
+
+ * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
+ (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
+ (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
+ * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ (ASM_OUTPUT_DESTRUCTOR): Remove.
+ * config/a29k/a29k.c: Move include of tree.h.
+ * config/a29k/udi.h: Delete file.
+ * config/alpha/alpha.c (vms_asm_out_constructor): New.
+ (vms_asm_out_destructor): New.
+ * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
+ (EXTRA_SECTION_FUNCTIONS): Likewise.
+ (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
+ (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ * config/c4x/c4x.c: Move include of tree.h.
+ * config/clipper/clipper.c (clix_asm_out_constructor): New.
+ (clix_asm_out_destructor): New.
+ * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ (ASM_OUTPUT_DESTRUCTOR): Remove.
+ (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ (TARGET_ASM_CONSTRUCTOR): New.
+ * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
+ (sco_asm_out_constructor): New.
+ * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
+ * config/i386/svr3gas.h: Remove stack grows up code.
+ Remove code duplicated from i386/sysv3.h.
+ (TARGET_ASM_CONSTRUCTOR): New.
+ (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
+ (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
+ * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ (TARGET_ASM_CONSTRUCTOR): New.
+ * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
+ (m68hc11_asm_out_destructor): New.
+ * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
+ (TARGET_ASM_DESTRUCTOR): New.
+ * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
+ * config/m68k/dpx2.h: Properly undef all the bits inherited from
+ config/svr3.h pertaining to section manipulation.
+ * config/m68k/dpx2g.h: Remove #if 0 code.
+ * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
+ * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
+ (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ (TARGET_ASM_CONSTRUCTOR): New.
+ * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
+ (m88k_svr3_asm_out_constructor): New.
+ (m88k_svr3_asm_out_destructor): New.
+ * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ (ASM_OUTPUT_DESTRUCTOR): Remove.
+ (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
+ * config/rs6000/aix.h: Likewise.
+ * config/mips/rtems64.h: Don't undef removed constructor related bits.
+ * config/mips/vxworks.h: Likewise.
+ * config/rs6000/lynx.h: Likewise.
+ * config/sh/elf.h: Likewise.
+ * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
+ (DTORS_SECTION_ASM_OP): New.
+ * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ (ASM_OUTPUT_DESTRUCTOR): Remove.
+ * config/sparc/sol2-sld-64.h: Likewise.
+ * config/vax/vax.c (vms_asm_out_constructor): New.
+ (vms_asm_out_destructor): New.
+ * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ (ASM_OUTPUT_DESTRUCTOR): Remove.
+ (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+
+ * doc/tm.texi (@node Initialization): Update.
+
+2001-08-09 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/crtbegin.asm (__JCR_LIST__): New.
+ (__do_global_dtors_aux): Use gp-relative static data to avoid
+ one dynamic relocation.
+ (__do_frame_setup): Register Java classes.
+ * config/alpha/crtend.asm (__JCR_END__): New.
+
+2001-08-09 Zack Weinberg <zackw@stanford.edu>
+
+ * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
+ (CONFIG_H, TCONFIG_H, TM_P_H): Update.
+ (GEN, STAGESTUFF): Add new files.
+ (insn-constants.h, s-constants, tm-preds.h, s-preds,
+ genconstants, genpreds, genconstants.o, genpreds.o): New rules.
+ (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
+ * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
+ as well as insn-codes.h and insn-flags.h in config.h; and no
+ extra headers in tconfig.h and hconfig.h.
+
+ * gencodes.c: Eliminate code to generate predicate declarations
+ or #defines for md-file constants.
+ * genconstants.c, genpreds.c: New files.
+
+ * i386.md: Re-order guard expressions such that TARGET_64BIT
+ comes first, when this permits better optimization. Add
+ TARGET_64BIT to more x86-64 patterns. Add comment explaining
+ why this is desirable.
+
+2001-08-09 Jakub Jelinek <jakub@redhat.com>
+
+ * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
+ (find_fde_for_dso): Remove.
+ (_Unwind_IteratePhdrCallback): New.
+ (_Unwind_FindTableEntry): Use dl_iterate_phdr.
+ * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
+
+Thu Aug 9 11:30:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
+ (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
+
+2001-08-09 Graham Stott <grahams@redhat.com>
+
+ * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
+ (vis_no_unit): Use it.
+ (visualize_no_unit): Add the insn only if room exists.
+
+2001-08-09 Graham Stott <grahams@redhat.com>
+
+ * predict.c (estimate_probability): Replace magic numbers with
+ appropriate enumeration.
+
+2001-08-09 Graham Stott <grahams@redhat.com>
+
+ * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
+ parameter.
+ (EXTRACT_FLAGS): Likewise.
- * reload.c (secondary_memlocs{,_elim}): New variables.
- (get_secondary_mem, clear_secondary_mem): New function.
- (push_reload): Convert SUBREG of hard reg to new hard reg.
- Call get_secondary_mem when needed.
- (find_reloads): Clear secondary_memloc_elim for each insn.
- * reload1.c (reload): If SECONDARY_MEMORY_NEEDED, check for frame
- size changed.
- Call clear_secondary_mem.
- (emit_reload_insns, gen_input_reload): Use memory when required to
- do reload.
- * reload.h (get_secondary_mem): Declare.
+2001-08-09 Aldy Hernandez <aldyh@redhat.com>
- * cccp.c (NULL_PTR): Define as void * if STDC.
+ * config/mips/mips.c (mips_legitimate_address_p): Check for
+ CONST_INT in last patch.
- * rs6000.md (negdi2): Corrected name; used to be negdi3.
+2001-08-08 Anthony Green <green@redhat.com>
- * combine.c (subst, case SET): Put code to move SUBREG after
- code that calls make_compound_operation.
- (make_extraction): Don't check for INNER a REG except for in dest.
- Fix typo checking for REG.
- (make_compound_operation): Get the result in the same mode it
- used to be.
+ * java/class.c (emit_register_classes): Use assemble_jcr if
+ possible. Keep the original mechanism as a fallback.
+ * defaults.h (JCR_SECTION_NAME): Define if we have named section
+ and weak symbol support.
+ * crtstuff.c (__JCR_LIST__): Define.
+ (__JCR_END__): Define.
+ (_Jv_RegiserClasses): Define weak symbol if possible.
+ (__do_global_ctors_aux): Register classes for ELF targets with
+ weak symbol support.
- * reload.c (push_reload): If a SUBREG requires a secondary reload
- but the inner expression doesn't, reload the inner expression
- instead.
+2001-08-08 Kazu Hirata <kazu@hxi.com>
-Fri Jul 17 02:20:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * dbxout.c: Fix comment formatting.
+ * dependence.c: Likewise.
+ * df.c: Likewise.
+ * diagnostic.c: Likewise.
+ * dominance.c: Likewise.
+ * doprint.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * dwarfout.c: Likewise.
+ * emit-rtl.c: Likewise.
+ * except.c: Likewise.
+ * explow.c: Likewise.
+ * expmed.c: Likewise.
+ * expr.c: Likewise.
+ * flow.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
- * gcc.c (process_command): Handle `-Wl,' and `-Wa,'.
- (do_spec_1): Handle %Y.
- (default_compilers): Use %Y in assembler commands.
+2001-08-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
- * function.c (assign_parms): In last change, test mode in parm type.
+ * global.c (retry_global_alloc): Avoid shadowing allocno.
-Thu Jul 16 15:03:25 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-08 Mark Mitchell <mark@codesourcery.com>
- * loop.c (find_and_verify_loops): Ignore jumps to missing labels,
- when using P.
+ * except.c (remove_fixup_regions): Fix typo.
- * c-typeck.c (build_binary_op): Improve shift warning messages.
+2001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
- * x-dpx2 (AS): Use $(GAS).
- (GAS): New variable.
+ * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
+ unsigned HOST_WIDE_INT to avoid warning.
+ * final.c (final): Cast INSN_UID to unsigned to avoid warning.
+ * flow.c (set_block_for_new_insns): Likewise.
- * mot3300.h (ASM_OUTPUT_CASE_END): Deleted.
+Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka <jh@suse.cz>
- * function.c (assign_parms): If arg was passed by invisible
- reference, copy it to a pseudo if appropriate.
+ * sibcall.c (return_value_pseudo): New static variable.
+ (skip_copy_to_return_value): Handle return_value_pseudo.
+ (call_ends_block_p): Ensure that return_value_pseudo is set.
+ (optimize_sibling_and_tail_recursive_call): Discover the
+ load of pseudo return value in alternate exit block.
- * dwarfout.c (pure_or_virtual_attribute):
- Add #if 0 around use of DECL_ABSTRACT_VIRTUAL_P.
+Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka <jh@suse.cz>
-Wed Jul 15 16:29:05 PDT 1992 Ron Guilmette (rfg at ncd.com)
+ * calls.c (ECF_ALWAYS_RETURN): New constant.
+ (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
+ (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
+ (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
+ * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
+ * rtl.c (reg_note_name): New name.
+ * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
- * dwarfout.c (BLOCK_INLINE_FUNCTION): Obsolete definition deleted.
- (block_ultimate_origin): New function.
- (output_block):
- Local var `have_significant_locals' renamed to `must_output_die'.
- (output_block): Rewritten to handle abstract & concrete instances of
- blocks of inline functions.
- (output_decls_for_scope):
- Don't bump `next_block_number' for abstract blocks.
+2001-08-07 Aldy Hernandez <aldyh@redhat.com>
- * toplev.c (rest_of_compilation): Call `dwarfout_file_scope_decl' for
- both types of "abstract" instances of inline functions.
+ * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
- * tree.def (BLOCK): Use new tree code category letter 'b' for BLOCKs.
- * tree.h (struct tree_block): New struct type definition added.
- (BLOCK_VARS, BLOCK_TYPE_TAGS, BLOCK_SUBBLOCKS, BLOCK_HANDLER_BLOCK):
- Changed to reference fields of the new `struct tree_block' type.
- (BLOCK_ABSTRACT_ORIGIN, BLOCK_ABSTRACT): Definitions added.
- (union tree_node): Added `struct tree_block' as a new variant.
- * tree.c (typedef tree_node_kind): Added new kind, i.e. `b_kind'.
- (tree_node_kind_names): Added string name for new kind `b_kind'.
- (make_node, copy_node, stabilize_reference_1):
- Handle case 'b' (for BLOCK nodes).
- (make_node): Don't try to deal with BLOCKs when doing a type 'e' node.
- * print-tree.c (print_node):
- Handle type 'b'; delete code for BLOCK from 'e' case.
- Handle fields BLOCK_ABSTRACT_ORIGIN and BLOCK_ABSTRACT.
- * calls.c (calls_alloca): Don't return 0 automatically if the expr
- given is headed by a type 'b' node.
- * cp-tree.c (break_out_calls): Add case for decl nodes.
- Added case to catch BLOCK nodes (and to abort).
- * integrate.c (copy_decl_tree): Set BLOCK_ABSTRACT_ORIGIN in new
- instance block if not already set.
- (expand_inline_function): Set BLOCK_ABSTRACT_ORIGIN for outermost
- scope to point to progenitor (abstract inline) FUNCTION_DECL node.
- (integrate_decl_tree): Set BLOCK_ABSTRACT_ORIGIN for inlined instance
- BLOCKs.
- (set_block_origin_self, set_decl_origin_self, set_block_abstract_flags,
- set_decl_abstract_flags): New functions.
- (output_inline_function): Call `set_decl_origin_self' for each fndecl
- which is about to have an out-of-line instance generated for it.
+2001-08-08 Jason Merrill <jason_merrill@redhat.com>
-Wed Jul 15 15:08:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * alias.c (get_alias_set): Return a previously calculated
+ alias set for a VAR_DECL.
+ * function.c (gen_mem_addressof): Calculate the alias set before
+ touching the RTL.
- * c-convert.c (convert_to_integer): Push truncation inside COND_EXPR.
+Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
- * optabs.c (emit_cmp_insn): Always do protect_from_queue on x, y, size.
- (expand_float, expand_fix): Likewise.
- * expmed.c (expand_shift, expand_set_flag):
- Call protect_from_queue before convert_to_mode.
- * expr.c (convert_move): Don't call protect_from_queue.
- (emit_block_move): Protect SIZE.
+ * predict.def: Set hitrates according our experimental run.
- * explow.c (allocate_dynamic_stack_space) [SETJMP_VIA_SAVE_AREA]:
- Always call round_push; we can't rely on alignment of size.
+Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
-Wed Jul 15 06:47:11 1992 Richard Kenner (kenner@vlsi1.ultra.nyu)
+ * i386.h (HARD_REGNO_RENAME_OK): New macro.
- * combine.c (try_combine): Verify that I2DEST is a register before
- trying to change its mode.
+2001-08-08 H.J. Lu <hjl@gnu.org>
-Tue Jul 14 15:13:28 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
+ * config/mips/mips.c (mips_unique_section): New. Copied from
+ config/mips/elf.h.
- * c-decl.c (finish_struct): Handle nested struct redefinitions.
- * stor-layout.c (layout_record): Handle NULL dsize.
+ * config/mips/mips-protos.h (mips_unique_section): New
+ prototype.
-Tue Jul 14 21:31:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
- * c-decl.c (duplicate_decls, pushdecl, grokdeclarator):
- (store_parm_decls, combine_parm_decls, finish_function):
- Use TYPE_MAIN_VARIANT when comparing against specific non-void types.
- * c-typeck.c (self_promoting_args_p, self_promoting_type_p):
- (signed_type, unsigned_type, default_conversion, check_format):
- (build_binary_op, c_expand_start_case): Likewise.
+ * config/mips/little.h: New. Generic little endian mips
+ targets. Only mips*-*-linux* is converted to use it so far.
-Mon Jul 13 14:57:34 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
+ (WCHAR_TYPE): Defined
+ (WCHAR_TYPE_SIZE): Likewise.
+ (INIT_SUBTARGET_OPTABS): Likewise.
+ (BSS_SECTION_ASM_OP): Likewise.
+ (SBSS_SECTION_ASM_OP): Likewise.
+ (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ (ASM_DECLARE_OBJECT_NAME): Likewise.
+ (UNIQUE_SECTION): Likewise.
+ (EXTRA_SECTIONS): Likewise.
+ (ASM_OUTPUT_CONSTRUCTOR): Likewise.
+ (ASM_OUTPUT_DESTRUCTOR): Likewise.
+ (ASM_OUTPUT_DEF): Likewise.
+ (HANDLE_SYSV_PRAGMA): Removed.
+ (NO_IMPLICIT_EXTERN_C): Likewise.
+ (TARGET_MEM_FUNCTIONS): Likewise.
+ (STARTFILE_SPEC): Likewise.
+ (ENDFILE_SPEC): Likewise.
+ (LIB_SPEC): Likewise.
+ (INVOKE__main): Likewise.
+ (CTOR_LIST_BEGIN): Likewise.
+ (CTOR_LIST_END): Likewise.
+ (DTOR_LIST_BEGIN): Likewise.
+ (DTOR_LIST_END): Likewise.
+ (SET_ASM_OP): Likewise.
+ (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ (ASM_OUTPUT_DEF): Likewise.
+ (ASM_OUTPUT_IDENT): Likewise.
- * c-decl.c (finish_function): Fix braino validating ret type of main.
+ * config/mips/mips.h (ASM_SPEC): Undefine before define.
+ (CPLUSPLUS_CPP_SPEC): Likewise.
+ (ASM_APP_ON) Redefine only if not defined.
+ (ASM_APP_OFF): Likewise.
+ (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ (ASM_OUTPUT_IDENT): Likewise.
- * expr.c (expand_builtin): Refer to errno at rtl level only.
- * sparc.h (TARGET_EDOM, GEN_ERRNO_RTX): New macros.
+ * config.gcc: Update tm_file for Linux/mips.
-Mon Jul 13 06:35:53 1992 Paul Eggert (eggert@twinsun.com)
+2001-08-08 Bernd Schmidt <bernds@redhat.com>
- * expr.c (expand_builtin):
- For fsqrt, always use the special insn, then test for nan.
+ * cselib.c (cselib_record_sets): If insn is predicated, turn
+ sources into IF_THEN_ELSEs.
-Mon Jul 13 08:45:34 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
+ Turn into define_insn_and_split.
- * m88k.md: Constraint fixes from Torbjorn.
+ * sched-deps.c: Include "cselib.h".
+ (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
+ Use cselib to turn memory addresses into VALUEs.
+ (sched_analyze): Call cselib_init/cselib_finish if necessary.
+ * sched-int.h (struct sched_info): New member USE_CSELIB.
+ * sched-ebb.c (ebb_sched_info): Initialize it.
+ * sched-rgn.c (rgn_sched_info): Likewise.
+ * Makefile.in (sched-deps.o): Update dependencies.
- * jump.c (jump_optimize): In `x = a; if (...) x = b;' allow both a
- and b to be non-zero if jumps are very expensive. Also allow a
- and b to be constants where all the set bits in a are also set in
- b when jumps are merely expensive.
+ * cselib.h (cselib_subst_to_values): Declare.
+ * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
+ that have no value and autoincs to be handled by generating a new
+ dummy value.
-Sun Jul 12 17:43:03 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-08-08 Graham Stott <grahams@redhat.com>
- * genpeep.c (match_rtx): Sometimes use %ld when printing an XWINT.
+ * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
+ within fixed length SEQUENCE.
- * regclass.c (record_reg_classes): If OP is a REG, use it's mode
- in case the mode in MATCH_OPERAND is VOIDmode.
+2001-08-08 Graham Stott <grahams@redhat.com>
-Sun Jul 12 13:03:54 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
+ (diagnostic_prefixing_rule): Likewise.
+ (diagnostic_line_cutoff): Likewise.
+ (diagnostic_kind_count): Likewise.
- * fixincludes: Replace the code that finds all directories
- so that it looks for subdirs of dir reached via symlinks.
+2001-08-08 Graham Stott <grahams@redhat.com>
- * cp-tree.h (IDENTIFIER_VIRTUAL_P): Macro moved here.
- * tree.h (IDENTIFIER_VIRTUAL_P): Deleted from here.
+ * alias.c (find_base_decl): Delete redundent assignment.
- * rtl.h (NOTE_BLOCK_NUMBER, SET_NOTE_BLOCK_NUMBER): New macros.
- (NOTE_DECL_NAME, NOTE_DECL_CODE, ...): #if 0'd.
- * function.c (identify_blocks, reorder_blocks): New functions.
- (all_blocks, blocks_nreverse): New functions.
+2001-08-08 Graham Stott <grahams@redhat.com>
- * isi.h: Deleted the #error; file should work now.
- (LIB_SPEC): Use -lg only once.
- (STRUCTURE_SIZE_BOUNDARY): Defined.
+ * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
+ (abs): Uppercase and paranthesize macro parameter.
+ (MEM_DEPENDENCY): Add whitespace.
- * protoize.c (process_aux_info_file): Set must_create before jumping to
- start_over. Don't clear must_create at start_over. Don't test
- source file mod time for SYSCALLS.
+2001-08-08 Graham Stott <grahams@redhat.com>
- * machmode.h (GET_MODE_NUNITS): Avoid division by zero.
+ * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
+ failure check for CONST_INT
-Sat Jul 11 22:21:47 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-08 Graham Stott <grahams@redhat.com>
- * objc-parse.y (primary): Don't test TREE_EXTERNAL;
- call assemble_external regardless.
+ * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
+ (libcall_dead_p): Likewise.
- * tree.h (DECL_INLINE, DECL_NONLOCAL, DECL_REGISTER, DECL_EXTERNAL):
- Renamed from TREE_INLINE, TREE_NONLOCAL, TREE_REGDECL, TREE_EXTERNAL.
- All uses changed.
+ (mark_used_regs): Constify fmt.
+ (find_use_as_address): Likewise.
- * xm-hp320.h (USG): Define it.
+2001-08-08 Graham Stott <grahams@redhat.com>
-Sat Jul 11 21:43:56 1992 Michael Meissner (meissner@osf.org)
+ * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
+ parameter.
- * mips.h (MIPS_VERSION): Bump meissner version number to 21.
+2001-08-08 Graham Stott <grahams@redhat.com>
+
+ * combine.c (combine_simplify_rtx): Update comment and
+ remove erroneous test.
- * mips.md (andsi3, iorsi3, xorsi3): Make predicates match the
- actual machine, since combine can now recreate the bitfields, and
- doesn't do multiple logical operations when setting more than one
- bitfield in a word.
+2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
- * objc-actions.c (xmalloc, free): Don't provide extern decls for
- these, since tree.h and rtl.h both now provide them.
+ * cppinit.c (cpp_finish): Pop the final buffer without comment.
+ * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
+ take care to avoid multiple no-newline at EOF warnings in that
+ case.
- * cp-lex.c (real_yylex): Declare a variable i, since a for loop
- uses it as an index. Remove an extra '(' from a build_int_2 call.
+Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * calls.c (expand_call): Do not emit INSN_SETJMP note.
+ (emit_library_call_value_1): Likewise.
+ (emit_call_1): Emit REG_SETJMP note.
+ * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
+ of INSN_SETJMP
+ * cselib.c (cselib_process_insn): Likewise.
+ * flow.c (propagate_block): Likewise.
+ * loop.c (find_and_verify_loops): Likewise.
+ * reload.c (find_equiv_regs): Likewise.
+ * reload1.c (reload): Likewise.
+ * resource.c (mark_referenced_resources,
+ mark_set_resources): Likewise.
+ * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
+ * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
+ * haifa-sched.c (unlink_other_notes): Likewise.
+ (reemit_notes): Likewise.
+ * sched-ebb.c (sched_ebb): Likewise.
+ * sched-rgc.c (sched_region): Likewise.
+ * rtl.c (note_insn_name): Likewise.
+ (reg_note_name): Add REG_SETJMP
+ * rtl.h (reg_note): Add REG_SETJMP.
+ (insn_note): Remove NOTE_INSN_SETJMP.
+
+ * profile.c (branch_prob): Add fake edges for setjmp.
+
+2001-08-07 Daniel Jacobowitz <drow@mvista.com>
+
+ * config.gcc: Quote target_cpu_default2 correctly for
+ powerpc*-*-* targets.
+
+2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpplib.h, line-map.h: Update comments.
+ * cppmain.c (printer_init): Move inline.
+ (maybe_print_line, print_line): Take a map pointer.
+ (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
+ (cb_file_change): Don't use prior value of print.map.
+
+2001-08-07 David Edelsohn <edelsohn@gnu.org>
+
+ * doc/install.texi: Document fine-grained multilib configuration.
+
+Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * rtlanal.c (find_first_parameter_load): Call note_stores
+ only on the instructions.
+
+Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * alias.c (nonlocal_mentioned_p):
+ Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
+ * calls.c (emit_call_1): Likewise.
+ * cse.c (cse_insn, invalidate_skipped_block): Likewise.
+ * cselib.c (cselib_process_insn): Likewise.
+ * df.c (df_insns_modify): Likewise.
+ * flow.c (need_fake_edge_p): Likewise.
+ (propagate_one_insn): Likewise.
+ * haifa-sched.c (reemit_notes): Likewise.
+ * integrate.c (copy_insn_list): Likewise.
+ * jump.c (delete_prior_computation): Likewise.
+ * local-alloc.c (validate_equiv_mem): Likewise.
+ * loop.c (scan_loop): Likewise.
+ * predict.c (estimate_probability): Likewise.
+ * reload.c (reload): Likewise.
+ * sched-deps (sched_analyze): Likewise.
+ * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
+ * gcse.c (compute_hash_table): Likewise.
+ (mark_call): Likewise.
+ (store_killed_in_insn): Likewise.
-Sat Jul 11 13:13:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-07 Jason Merrill <jason_merrill@redhat.com>
- * varasm.c: Get rid of default definitions of ASM_OUTPUT_CONSTRUCTOR
- and ASM_OUTPUT_DESTRUCTOR.
+ * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
- * c-aux-info (affix_data_type): Don't be fooled by names starting
- with `const' or `volatile'.
+2001-08-06 Richard Henderson <rth@redhat.com>
- * c-typeck.c (digest_init): Deal with nested {...} for scalar.
+ * varasm.c (assemble_gc_entry): Remove.
+ * output.h: Likewise.
- * loop.c, reload1.c: Include stdio.h before config.h.
+2001-08-06 Richard Henderson <rth@redhat.com>
- * toplev.c (rest_of_compilation): Save and restore DECL_ARGUMENTS.
+ * varasm.c (assemble_constructor): Take a symbol_ref and a
+ priority instead of a bare string. Move priority handling
+ here from cp/decl2.c.
+ * output.h: Update decls.
-Fri Jul 10 22:42:34 1992 Paul Eggert (eggert@twinsun.com)
+ * c-decl.c (c_expand_body): Update calls to assemble_constructor
+ and assemble_destructor.
+ * profile.c (output_func_start_profiler): Likewise.
+ * objc/objc-act.c (finish_objc): Likewise.
+ (build_module_descriptor): Return the symbol not the symbol name.
- * tree.c (build_real_from_int_cst): Truncate when folding to float.
- (real_value_from_int_cst): Do not treat the topmost bit
- of an unsigned long long value as a sign bit.
+2001-08-06 David Edelsohn <edelsohn@gnu.org>
- * cse.c (simplify_binary_operation): Don't optimize 0.0/x to 0.0
- if IEEE floating point is used, because x might be negative or NaN.
+ * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
+ * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
+ ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
+ * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
+ * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
+ * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
-Fri Jul 10 15:37:42 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
- * genpeep.c (match_rtx): Handle `w' elts of rtx.
+ * cpperror.c (print_containing_files): Moved to line-map.c.
+ (print_location): line-map.c handles re-listing or otherwise.
+ * cpphash.h (struct lexer_state): Remove next_bol.
+ (struct cpp_buffer): Remove include_stack_listed.
+ * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
+ Remove faked buffer handling.
+ (_cpp_do_file_change): Tweak.
+ * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
+ * cppmain.c (struct printer): Remove filename.
+ (print_line, cb_file_change): Update accordingly.
+ * line-map.c: Include intl.h.
+ (init_line_maps): Initialize last_listed.
+ (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
+ (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
+ (print_containing_files): New.
+ * line-map.h (struct line_maps): New member last_listed.
+ (print_containing_files, INCLUDED_FROM): New.
+ * Makefile.in: Update.
+ * po/POTFILES.in: Add line-map.c.
- * Makefile.in (INTERNAL_CFLAGS): Add -DIN_GCC.
+2001-08-06 Richard Henderson <rth@redhat.com>
-Fri Jul 10 18:56:22 1992 Eric Youngdale (youngdale@v6550d.nrl.navy.mil)
+ * except.c (convert_from_eh_region_ranges_1): Never mark
+ USE or CLOBBER insns as throwing.
+
+ * expr.c (store_constructor): Don't clobber memory targets.
+
+2001-08-06 Andreas Jaeger <aj@suse.de>
+
+ * profile.c (branch_prob): Remove unused variable insn.
+
+ * Makefile.in (local-alloc.o): Add dependency on except.h.
+
+ * local-alloc.c: Include except.h for can_throw_internal prototype.
+
+2001-08-06 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
+ * function.c (expand_main_function): Implement it.
+ * doc/tm.texi: Document it.
+
+2001-08-06 Stan Shebs <shebs@apple.com>
+
+ * doc/install.texi: Document powerpc-*-darwin* details.
+
+2001-08-06 Daniel Berlin <dan@cgsoftware.com>
+
+ * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
+ (ASM_CPU_SPEC): Move back to rs6000.h
+ #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
+
+ * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
+
+ * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
+ readded.
+
+ * config/rs6000/linux64.h: Ditto.
+
+ * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
+ to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
+ nothing.
+
+ Remove accidently readded definitions of FUNCTION_PROLOGUE,
+ FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN
+
+ * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
+ to rs6000.h
+
+2001-08-05 Richard Henderson <rth@redhat.com>
+
+ * local-alloc.c (update_equiv_regs): Do not move insns that
+ can throw.
+
+2001-08-05 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (reload1.o): Add dependency on except.h
+ * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
+ prototypes.
+ * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
+ indicating whether edges has been cleaned up.
+ * reload1.c: Include except.h.
+ (fixup_abnormal_edges): Accept deleted insns.
+ * toplev.c (rest_of_compilation): Purge dead edges unconditionally
+ after combine.
+
+2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpplib.c (do_line): Correct line number after pop_buffer.
+
+2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ PR preprocessor/3824
+ * line-map.c: Update comments.
+ * line-map.h: Update comments.
+ * tradcif.y: Don't consider large numbers unsigned.
+
+2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ PR preprocessor/3081
+ * c-lex.c (map): New.
+ (cb_file_change): Update map and use it.
+ (cb_def_pragma, cb_define, cb_undef): Use map and line.
+ (c_lex): Update to use map.
+ * cpperror.c (print_location): Move to using logical line numbers.
+ * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
+ (cpp_make_system_header): Similarly.
+ (_cpp_execute_include): Stop line numbering hacks. Store the
+ line we will return to.
+ * cpphash.h (CPP_BUF_LINE): Remove.
+ (struct cpp_buffer): Remove lineno and pseudo_newlines.
+ Add map and return_to_line.
+ (_cpp_do_file_change): Update.
+ * cppinit.c (cpp_start_read): Update line kludge.
+ * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
+ (trigraph_ok): Use logical line numbers for diagnostics.
+ (skip_block_comment): Likewise.
+ (skip_whitespace): Likewise.
+ (skip_line_comment): Use pfile->line instead.
+ (_cpp_lex_token): Update to use logical line numbering exclusively.
+ Handle BOL locally. Accept new lines in directives, but keep
+ pfile->line decremented. Diagnostics use logical lines. Update
+ directive handling.
+ * cpplib.c (SEEN_EOL): New.
+ (skip_rest_of_line, check_eol): Use it.
+ (end_directive): Increase line number when accepting the newline
+ at the end of a directive.
+ (run_directive): Simplify.
+ (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update.
+ (_cpp_do_file_change): Update to take buffer line number as an
+ argument, and store the current map in the cpp_reader. Remove
+ line number kludges.
+ (_cpp_do__Pragma): Restore output position after a _Pragma.
+ (cpp_push_buffer): Don't set output line or lineno.
+ (_cpp_pop_buffer): Transfer more info from a faked buffer.
+ Remove line kludge. Set output_line.
+ * cppmacro.c (builtin_macro): Update handling of __LINE__.
+ (parse_arg): Use logical lines.
+ (save_lookahead_token): Save EOFs too now.
+ * cppmain.c (struct printer): Fix comments.
+ (printer_init): Simplify, let caller do errors.
+ (scan_translation_unit, check_multiline_token, dump_macro): Update.
+ (maybe_print_line): Simplify.
+ (print_line): Don't print a linemarker if -P.
+ (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
+ (cb_file_change): Simplify.
+ * line-map.h (LAST_SOURCE_LINE): Fix.
+ (CURRENT_LINE_MAP): New.
+
+2001-08-05 Bernd Schmidt <bernds@redhat.com>
+
+ * doloop.c (doloop_modify_runtime): Properly compute number of
+ iterations if loop was unrolled.
+
+ * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
+ if their CSELIB_VAL_PTRs are.
+
+ * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
+ (setup_spill_pointers): Initialize it.
+ (spill_restore_mem): Set it.
+ (do_spill, do_restore): Use it to add REG_INC note.
+ * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
+
+ * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
+ asms if other insns are available.
+
+ * config/ia64/ia64.c (condop_operator): New predicate.
+ * config/ia64/ia64.h (PREDICATE_CODES): Add it.
+ * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
+ patterns.
- * cccp.c (finclude): Clean error msf if file_size_and_mode fails.
+ * expr.c (expand_expr, case COND_EXPR): Prefer working with a
+ temporary register than directly using a MEM.
-Fri Jul 10 13:44:46 1992 Howard Chu (hyc@hanauma.jpl.nasa.gov)
+2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
- * fx2800.h (LINK_LIBGCC_SPECIAL): Defined.
- (DBX_OUTPUT_STANDARD_TYPES): Check that DECL_NAME(decl) exists
- before trying to get its IDENTIFIER_POINTER.
+ * config/sh/sh.c (sh_asm_named_section): Fix typo in align
+ parameter in last change.
-Thu Jul 9 20:56:01 1992 Per Bothner (bothner@rtl.cygnus.com)
+2001-08-04 Zack Weinberg <zackw@panix.com>
- * dbxout.c (dbxout_type_methods): Fix minimal_debug so
- that it skips a redundant class name prefix, as intended.
- It now expects the length digits that precede the class name.
+ * sparc.md: Don't use #if inside C test expression.
-Thu Jul 9 18:23:12 1992 Torbjorn Granlund (tege@wombat.gnu.ai.mit.edu)
+2001-08-04 Richard Henderson <rth@redhat.com>
- * Makefile.in, libgcc2.c, longlong.h: Rename udiv_using_sdiv to
- udiv_w_sdiv.
+ * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
-Thu Jul 9 18:10:40 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-04 Neil Booth <neil@daikokuya.demon.co.uk>
- * tree.h (STRIP_TYPE_NOPS): New macro.
- * c-decl.c (build_enumerator): Use STRIP_TYPE_NOPS.
- * c-typeck.c (default_conversion): Use STRIP_TYPE_NOPS.
- (build_binary_op, build_function_call): Likewise.
- * c-common.c (check_case_value): Use STRIP_TYPE_NOPS.
+ * cpphash.h (struct cpp_reader): New member directive_line.
+ * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
+ * cpplib.c (do_define, do_undef, do_ident, do_include_common,
+ do_pragma): Pass line to callbacks.
+ (start_directive): Record line of directive.
+ * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
+ cb_include): Similarly.
+ * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
+ Similarly.
- * mot3300.h (ASM_OUTPUT_CASE_END): New macro.
- * m68k.c (switch_table_difference_label_flag): New variable.
+2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
- * i860.md (QI and HI bte/btne patterns): Deleted.
+ * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
+ comment.
-Thu Jul 9 06:09:20 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
+Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
+
+ * reload1.c (fixup_abnormal_edges): New static function.
+ (reload): Use it.
+
+ * flow.c (need_fake_edge_p): New function.
+ (flow_call_edges_add): Fix handling of noreturn and sibling calls;
+ avoid call insn to be very last insn in the insn stream.
+
+ * profile.c (branch_prob): Call flow_call_edges_add instead of
+ doing that by hand; cleanup cfg to re-merge basic blocks once
+ we are done.
+
+2001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
+ are also on line-map.h.
+ * cppfiles.c (stack_include_file): Update.
+ * cpphash.h (struct cpp_buffer): New member return_at_eof.
+ (_cpp_pop_buffer): New.
+ * cppinit.c (cpp_destroy, cpp_finish): Update.
+ (do_includes): Mark each buffer to return at EOF.
+ * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or
+ return as requested.
+ * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
+ (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping.
+ * cpplib.h (cpp_pop_buffer): Remove.
+ (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
+ * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop
+ buffers.
+ * cppmain.c (scan_buffer): Rename scan_translation_unit. No need
+ to pop buffers.
+ (do_preprocessing): Update.
+ * fix-header.c (read_scan_file): Update. No need to pop buffers.
+ * c-parse.in (_yylex): Similarly.
+ * scan-decls.c (scan_decls): Similarly.
+ * line-map.h: Update comments.
+
+ * objc/Make-lang.in (objc-act.o): Update dependencies.
+
+2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
+ and soft register for operand 0.
+ ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
+
+2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
+ register for operand 0.
+ ("bitcmpqi_z_used"): Allow memory for operand 0.
+ (split "bitcmpqi"): New split to handle address reg as operand 1.
+
+2001-08-04 Andreas Jaeger <aj@suse.de>
+
+ * gcse.c: Revert Daniel's last patch.
+
+2001-08-03 Zack Weinberg <zackw@stanford.edu>
+
+ * sparc-protos.h: Add prototypes for fp_zero_operand and
+ reg_or_0_operand.
+ * sh-protos.h: Add prototype for fpul_operand.
+
+2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * doc/extend.texi (Other Builtins): Fix typo in last change.
+
+2001-08-03 Richard Henderson <rth@redhat.com>
+
+ * target.h (gcc_target): Add asm_out.named_section,
+ section_type_flags, have_named_sections.
+ * target-def.h (TARGET_ASM_NAMED_SECTION): New.
+ (TARGET_HAVE_NAMED_SECTIONS): New.
+ (TARGET_SECTION_TYPE_FLAGS): New.
+
+ * Makefile.in (toplev.o): Depend on TARGET_H.
+ (varasm.o, dbxout.o): Likewise.
+ * c-common.c (decl_attributes): Check targetm.have_named_sections
+ instead of ifdef ASM_OUTPUT_SECTION_NAME.
+ * dbxout.c (dbxout_function_decl): Likewise.
+ (dbxout_function_end): Likewise.
+ * toplev.c (compile_file): Likewise.
+ * varasm.c (exception_section): Likewise.
+ * cp/decl2.c (finish_objects): Likewise.
+
+ * defaults.h (EH_FRAME_SECTION): Remove.
+ (EH_FRAME_SECTION_ASM_OP): Remove.
+ (EH_FRAME_SECTION_NAME): New.
+ (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
+ (UNIQUE_SECTION_P): Remove.
+ * dwarf2out.c (SECTION_FORMAT): Remove.
+ (ASM_OUTPUT_SECTION): Remove.
+ (output_call_frame_info): Use named_section_flags.
+ (output_comp_unit, dwarf2out_start_source_file): Likewise.
+ (dwarf2out_end_source_file, dwarf2out_define): Likewise.
+ (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
+ * varasm.c (in_eh_frame, eh_frame_section): Remove.
+ (named_section_flags): New.
+ (named_section): Use it and targetm.section_type_flags.
+ (resolve_unique_section): New.
+ (assemble_start_function): Use it.
+ (asm_emit_uninitialised, assemble_variable): Likewise.
+ (default_section_type_flags): New.
+ (default_no_named_section, default_elf_asm_named_section): New.
+ (default_coff_asm_named_section, default_pe_asm_named_section): New.
+ * output.h: Update varasm.c decls.
+ (SECTION_*): New flags.
+
+ * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
+ (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
+
+ * config/elfos.h (UNIQUE_SECTION_P): Remove.
+ * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
+ * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
+ * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
+ * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
+ * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
+ * config/mips/elf.h, config/mips/elf64.h: Likewise.
+ * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
+ * config/pa/pa64-hpux.h,
+
+ * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
+ (TARGET_ASM_NAMED_SECTION): New.
+ * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
+ * config/alpha/vms.h, config/arm/coff.h: Likewise.
+ * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
+ * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
+ * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
+ * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
+ * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
+ * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
+ * config/i386/sco5.h, config/i386/win32.h: Likewise.
+ * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
+ * config/mcore/mcore.h, config/mips/elf.h: Likewise.
+ * config/mips/elf64.h, config/mips/iris6.h: Likewise.
+ * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
+ * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
+ * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
+ * config/sparc/sysv4.h: Likewise.
+
+ * config/nextstep.h: Error until named sections implemented.
+
+ * config/a29k/a29k.c (a29k_asm_named_section): New.
+ * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
+ (vms_section_type_flags, vms_asm_named_section): New.
+ * config/arm/arm.c (arm_elf_asm_named_section): New.
+ * config/avr/avr.c (asm_output_section_name): Remove.
+ * config/avr/avr-protos.h: Update.
+ * config/c4x/c4x.c (c4x_asm_named_section): New.
+ * config/h8300/h8300.c (h8300_asm_named_section): New.
+ * config/i386/i386.c (sco_asm_named_section): New.
+ * config/i386/winnt.c (SECTION_PE_SHARED): New.
+ (i386_pe_section_type_flags): New.
+ (i386_pe_asm_named_section): New.
+ * config/i386/i386-protos.h: Update.
+ * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
+ * config/mcore/mcore.c (mcore_asm_named_section): New.
+ * config/mips/mips.c (iris6_asm_named_section): New.
+ * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
+ instead of UNIQUE_SECTION_P.
+ * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
+ (xcoff_asm_named_section): New.
+ * config/sh/sh.c (sh_asm_named_section): New.
+ * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
+
+ * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
+ * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
+ (EH_FRAME_SECTION_NAME): New.
+ (EXCEPTION_SECTION): New.
+ * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
+ (DEBUG_*_SECTION): Remove.
+ * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
+ * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
+ (EH_FRAME_SECTION_ASM_OP): Remove.
+
+ * doc/tm.texi (UNIQUE_SECTION_P): Remove.
+ (ASM_OUTPUT_SECTION_NAME): Remove.
+ (TARGET_ASM_NAMED_SECTION): New.
+ (TARGET_HAVE_NAMED_SECTIONS): New.
+ (TARGET_SECTION_TYPE_FLAGS): New.
+ (EH_FRAME_SECTION_ASM_OP): Remove.
+ (EH_FRAME_SECTION_NAME): New.
+
+2001-08-03 Zack Weinberg <zackw@stanford.edu>
+
+ * builtins.c (fold_builtin_constant_p): Return integer_zero_node
+ for complex expressions when cfun == 0.
+ * doc/extend.texi: Document that __builtin_constant_p can be
+ used in data initializers as well as functions.
+
+2001-08-03 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
+ variable I locally, instead of expecting a declaration in the
+ calling context.
+
+2001-08-03 Richard Henderson <rth@redhat.com>
+
+ * except.c (collect_one_action_chain): Add an explicit cleanup
+ action if regions surrounding a catch were encoded entirely
+ within the call-site entry.
+
+2001-08-03 Richard Henderson <rth@redhat.com>
+
+ * dbxout.c (dbxout_symbol_location): Flatten subregs first;
+ don't take REGNO of a non-register.
+
+2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
+ __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
+ (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
+ (__gthread_mutex_init_function): New function for mutex initialization.
+
+2001-08-03 Daniel Berlin <dan@cgsoftware.com>
+
+ * Makefile.in: Revert screwed up commit.
+
+2001-08-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
+ * config/m68hc11/larith.asm (_exit): Split in several sub-sections
+ merged by linker script to get a final _exit().
+ (__do_global_dtors): New for destructor handling in specific exit
+ section.
+ (__do_global_ctors): New for constructors in specific install section.
+ (__map_data_section): Map data sections before running constructors.
+ * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
+ (CTORS_SECTION_ASM_OP): Define to put in readonly section.
+ (DTORS_SECTION_ASM_OP): Likewise.
+ (CTORS_SECTION_FUNCTION): Define to force a reference to
+ __do_global_ctors.
+ (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
+
+2001-08-03 Daniel Berlin <dan@cgsoftware.com>
+
+ * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
+
+ * Makefile.in: Add df.h to gcse.c dependencies.
+
+2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * varasm.c (output_constant_def_contents): Use for the length of a
+ string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
+ depending on which is larger.
+
+2001-08-03 Daniel Berlin <dan@cgsoftware.com>
+
+ * gcse.c: Include df.h for use as a dataflow analyzer.
+ Remove regvec.
+ Declaration of reg_set_info: gone.
+ New df_analyzer variable used by store motion.
+ (reg_set_info): Deleted.
+ (mark_mem_regs): New function, analyze regs used by a mem.
+ (store_ops_ok): Use dataflow analyzer results to determine if
+ necessary regs are changed in the block.
+ (find_moveable_store): Remove check for symbol ref, we can handle
+ much more complex expressions now.
+ (compute_store_table): Remove most of the code, it's unnecessary
+ now that the dataflow analyzer records the info for us.
+ (store_killed_after): Add parameter to say whether to do the
+ store_ops_okay test, used to speed up testing when we already know
+ the answer, and just want to know if the store itself was killed.
+ (build_store_vector): Largely rewritten to calculate the various
+ vectors properly, and somewhat optimized.
+ (store_motion): Init the df_analyzer, get REG_DEF chains.
+ Also handle trapping expressions (since mems almost always trap)
+ (simple_mem): Redefine what a simple mem is.
+
+2001-08-03 DJ Delorie <dj@redhat.com>
+
+ * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
+ set from a constant part of the condition.
+
+2001-08-01 Andrew Cagney <ac131313@redhat.com>
+
+ * mkdeps.c (deps_add_default_target): Make local variable
+ ``start'' a const char pointer.
+ * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
+
+2001-08-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Configuration): Fix markup.
+ (Specific, i?86-*-udk): Likewise.
+ (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
+ --with-gnu-ld.
+ Document --enable-threads and --enable-libgcj status.
+ (Specific, mips-sgi-irix*): Canonicalize triples.
+ (Specific, mips-sgi-irix5): Warn about problems with this config.
+ Mention required GNU as patch.
+ Native assembler problems are fixed.
+ (Specific, mips-sgi-irix6): Update O32 ABI support status.
+ Document --enable-threads and --enable-libgcj status.
+
+2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
+ of mkinstalldirs.
+
+2001-08-03 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
+ constant data.
+
+2001-08-03 Richard Henderson <rth@redhat.com>
+
+ * rtlanal.c (find_first_parameter_load): Stop if we
+ reach a CODE_LABEL at BOUNDARY.
+
+2001-08-03 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (force_movdi): New insn.
+ * config/alpha/alpha.c (alpha_expand_prologue): Use it.
+ Tweek FRP marking of VMS prologue insns.
+ * config/alpha/vms.h (EPILOGUE_USES): New.
+
+2001-08-02 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
+
+2001-08-02 Lars Brinkhoff <lars@nocrew.org>
+
+ * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
+ simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
+ config/convex/convex.h, config/d30v/d30v.c,
+ config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
+ config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
+ config/mips/mips.h, config/mn10200/mn10200.h,
+ config/mn10300/mn10300.h, config/pdp11/pdp11.md,
+ config/v850/v850.h, config/vax/openbsd.h,
+ config/vax/openbsd1.h, config/vax/ultrix.h,
+ config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
+ config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
+ cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
+ doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
+ doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
+ in comments and documentation.
+
+2001-08-03 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ * line-map.c: New.
+ * line-map.h: New.
+ * Makefile.in (line-map.o): New.
+ (LIBCPP_OBJS, LIBCPP_DEPS): Update.
+ * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
+ * cpperror.c (print_containing_files): Similarly.
+ (print_location): Update. Don't output a space before _Pragma.
+ * cppfiles.c (stack_include_file): Set to line 1 immediately.
+ (stack_include_filee, cpp_make_system_header): Update.
+ (_cpp_execute_include): Get logical line number right for calling
+ as-yet-unterminated #include.
+ * cpphash.h (struct cpp_reader): Add line_maps.
+ (_cpp_do_file_change): Update.
+ * cppinit.c (cpp_create_reader): Initialize line maps.
+ (cpp_destroy): Destroy line maps.
+ (cpp_start_read): Get logical line number right.
+ * cpplex.c (parse_string): Only warn once for multi-line strings.
+ Use boolean variable for null warning.
+ * cpplib.c (_cpp_handle_directive): End the directive if it isn't
+ already.
+ (do_include_common): End the directive early.
+ (do_line): Don't warn about out-of-range lines in preprocessed
+ source. Update. Remove unused variables.
+ (_cpp_do_file_change): Update for new line mapping.
+ (pragma_cb): New typedef.
+ (cpp_register_pragma): Stop looking ahead before calling the
+ handler. Clean up.
+ (do_pragma_system_header): End directive early.
+ (cpp_get_line_maps): New.
+ (cpp_pop_buffer): Fudge logical line. Update.
+ * cpplib.h: Include line-map.h
+ (enum cpp_fc_reason): Remove.
+ (struct cpp_file_change): Update.
+ (cpp_get_line_maps): New.
+ * cppmain.c (struct_printer): New member map.
+ (cb_file_change): Update for new mappings.
+ * fix-header.c (cb_file_change): Similarly.
+
+2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * Makefile.in (libgcc.mk): Define mkinstalldirs.
+ * mklibgcc.in: Use mkinstalldirs instead of mkdir.
+
+2001-08-02 Lars Brinkhoff <lars@nocrew.org>
+
+ * config/vax/vax.c: include expr.h.
+
+2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * Makefile.in ($(srcdir)/configure): Only rebuild in
+ maintainer mode.
+ ($(srcdir)/config.in): Only define in maintainer mode.
+ ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
+
+2001-08-02 David Edelsohn <edelsohn@gnu.org>
+
+ * doc/install.texi (Install GCC: Binaries): Update Bull info.
+
+2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * gcc.c (set_collect_gcc_options): New function, split out from
+ main.
+ Ignore elided switches.
+ (do_spec_1): Invoke before executing command.
+ (set_input): Export.
+ Move declaration ...
+ * gcc.h (set_input): ... here.
+ * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
+ file.
- * c-typeck.c (default_conversion): Don't use STRIP_NOPS.
+2001-08-02 Nathan Sidwell <nathan@codesourcery.com>
- * print-rtl.c: Missing merge from 64-bit changes.
- (print_rtx): Add new case 'w'.
+ Kill -fhonor-std.
+ * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
+ interaction.
+ * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
-Wed Jul 8 14:35:39 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-08-02 Richard Sandiford <rsandifo@redhat.com>
- * fixincludes, fixinc.svr4: Error if no argument.
+ * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise
+ for the unnamed instructions it expands to.
- * tree.c (integer_zerop, integer_onep, integer_all_onesp):
- (integer_pow2p, real_zerop, real_onep, real_twop): Use STRIP_NOPS.
- * expr.c (do_store_flag): Likewise.
- * varasm.c (output_constructor): Likewise.
- * c-decl.c (finish_struct, build_enumerator): Likewise.
- * c-typeck.c (default_conversion, build_binary_op): Likewise.
- (build_function_call): Likewise.
+2001-08-02 Richard Henderson <rth@redhat.com>
- * integrate.c (integrate_decl_tree): Get rid of arg functionbody;
- it was always 0.
+ * regclass.c (call_really_used_regs): Conditionally define.
+ (init_reg_sets_1): Don't use it if not defined.
+ (fix_register): Similarly, don't set it.
- * mot3300.h: Fix typo.
+2001-08-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
- * final.c (leaf_renumber_regs_insn): Handle new 'w' format.
+ * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
+ Correct comment that had been missed in the previous change.
-Wed Jul 8 15:18:33 PDT 1992 Ron Guilmette (rfg at ncd.com)
+2001-08-01 Stan Shebs <shebs@apple.com>
- * tree.h (DECL_ABSTRACT_ORIGIN, DECL_ABSTRACT): Definitions added.
- (struct tree_decl): New fields `abstract_origin' & `abstract_flag'.
- (struct tree_decl): Field `from_inline_flag' deleted.
- (DECL_FROM_INLINE): Definition revised to check DECL_ABSTRACT_ORIGIN.
- * integrate.c (copy_decl_list): New function added.
- (save_for_inline_copying): Call `copy_decl_list' for formal parameters.
- Set DECL_ABSTRACT_ORIGIN for fndecl to point to itself.
- (copy_decl_tree): Use `copy_decl_list' rather than just `copy_list'.
- (integrate_parm_decls, integrate_decl_tree): Set DECL_ABSTRACT_ORIGIN
- to point to the progenitor.
- * print-tree.c (print_node): Print the value of DECL_ABSTRACT_ORIGIN
- rather than the value of DECL_FROM_INLINE.
+ * config/darwin.c (machopic_stub_name): Try matching by name.
+ (update_stubs): New function.
+ (darwin_encode_section_info): Call it and update_non_lazy_ptrs
+ unconditionally.
- * dwarfout.c (output_inlined_enumeration_type_die): New function.
- (output_inlined_structure_type_die, output_inlined_union_type_die):
- New functions added.
- (output_entry_point_die, output_formal_parameter_die,
- output_global_subroutine_die, output_global_variable_die,
- output_label_die, output_lexical_block_die,
- output_inlined_subroutine_die, output_local_variable_die,
- output_local_subroutine_die):
- Fixed to handle inline abstract & concrete (i.e. inlined) instances.
- (output_inlined_subroutine_die): Deleted.
- (output_label_die): Don't permit the rtx associated with a named
- user-declared label to be marked as INSN_DELETED_P.
- (output_tagged_type_instantiation): New function added.
- (output_decl): Call `output_tagged_type_instantiation'.
- Don't generate a pubnames label for anything marked as DECL_ABSTRACT.
- (output_die): Generate the proper kind fo DIE for each of the four
- possible combination of {normal, inlined} {variable, parameter}.
- (dwarfout_file_scope_decl): Don't generate pubnames entries if
- strictly abstract.
+2001-08-01 Richard Henderson <rth@redhat.com>
- * dwarfout.c (ordering_attribute): Only def if USE_ORDERING_ATTRIBUTE
- is defined.
- (output_array_type_die): Only call ordering_attribute if it is defined.
- (name_and_src_coords_attributes): Don't make it inline.
- Do make it static linkage.
- (const_value_attribute): Catch invalid kinds of rtx nodes
- by aborting for the default case in switch.
+ * except.c (output_function_exception_table): Use assemble_align.
+ * varasm.c (assemble_eh_label): Remove.
+ (assemble_eh_align, assemble_eh_integer): Remove.
- * dwarfout.c (output_ptr_to_mbr_type_die): Make it static linkage.
- (output_formal_types): Make sure that `formal_type' is initialized.
- (output_type): Add a default case for switch.
- (output_decl): Don't suppress DIEs for the initial (artificial)
- arguments for C++ static member functions.
+2001-08-01 Robert Lipe <robertl@caldera.com>
- * dwarfout.c (ceiling, field_type, simple_type_align_in_bits,
- simple_type_size_in_bits, field_byte_offset): New functions added.
- (data_member_location_attribute): Use new routine `field_byte_offset'
- to calculate the offset value for the AT_location attribute.
- (byte_size_attribute): Use new routine `field_type' to get the
- actual type for any FIELD_DECL. Also, use `simple_type_size_in_bits'
- to avoid potential problems with ERROR_MARKs when computing the size
- of a FIELD_DECL.
- (bit_offset_attribute): Rewritten to use `field_byte_offset' when
- determining the start of the "containing object".
+ * dwarfout.c: Remove reference to README.DWARF.
- * integrate.c (expand_inline_function): Integrate parameters before
- locals to get debugging information in the proper order.
- (integrate_decl_tree): Don't do a redundant pushlevel/poplevel for
- the outermost scope (i.e. when level==0)... just use the one created
- by `expand_inline_function'.
+2001-08-01 Andrew MacLeod <amacleod@redhat.com>
- * calls.c (calls_alloca): For BLOCK, walk subblocks and vars by hand.
+ * regclass.c (call_really_used_regs): New array for registers which
+ are actually used by a call.
+ (init_reg_sets_1): Initialize regs_invalidated_by_call with the
+ new array.
+ (fix_register): Set call_really_used too.
+ * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
+ * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
-Wed Jul 8 13:31:19 1992 Michael Meissner (meissner@osf.org)
+2001-08-01 Richard Henderson <rth@redhat.com>
- * cp-decl.c (print_binding_level): Fix typo, where 'lbl' was used
- instead of 'lvl'.
+ * read-rtl.c (read_name): Consider \r whitespace.
- * objc-actions.c (build_shared_structure_initializer): Correct call
- to build_int_2 which had only one argument, instead of two.
+2001-07-11 Andrew Cagney <ac131313@redhat.com>
-Wed Jul 8 06:37:40 1992 Torbjorn Granlund (tege@sics.se)
+ * config.gcc: Recognize powerpc-*-netbsd*.
- * gstdarg.h, gvarargs.h: Test `__hppa__' instead of `__hp9000s800__'.
+ * doc/install.texi (Host/target specific installation notes for
+ GCC): Mention powerpc-*-netbsd*.
- * romp.md (zero_extendhisi2): Remove unneeded constraint.
+ * config/rs6000/netbsd.h: New file.
+ (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
+ (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
+ (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
+ (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
+ (TARGET_VERSION): Redefine.
+
+ * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
+ mcall-netbsd as a match for mcall-sysv.
+ (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
+ (ncrti.S, ncrtn.S): New targets.
+ ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
+
+ * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
+ "netbsd' as a V4 ABI.
+ (ASM_SPEC): Check for -mcall-netbsd.
+ (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
+ (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
+ (LIB_SPEC, ENDFILE_SPEC): Ditto.
+ (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
+ (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
+ (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
+ (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
+
+ * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
+ (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
+
+2001-08-01 Mark Kettenis <kettenis@gnu.org>
+
+ * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
+ only if NO_BASE_OF_ENCODED_VALUE isn't defined.
+ * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
+ including "unwind-pe.h".
+
+Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * rs6000.md (define_splits): Kill unused constraints.
+
+Wed Aug 1 20:02:12 CEST 2001 Graham Stott <grahams@redhat.com>
+ Jan Hubicka <jh@suse.cz>
+
+ * function.c (thread_prologue_and_epilogue_insns): Kill code
+ dealing with non-existent CFG.
+
+2001-08-01 Kazu Hirata <kazu@hxi.com>
+
+ * alias.c: Fix comment formatting.
+ * bitmap.c: Likewise.
+ * builtins.c: Likewise.
+ * calls.c: Likewise.
+ * c-common.c: Likewise.
+ * c-decl.c: Likewise.
+ * c-dump.c: Likewise.
+ * c-lex.c: Likewise.
+ * collect2.c: Likewise.
+ * combine.c: Likewise.
+ * conflict.c: Likewise.
+ * cppfiles.c: Likewise.
+ * cppinit.c: Likewise.
+ * cpplex.c: Likewise.
+ * cpplib.c: Likewise.
+ * cppmacro.c: Likewise.
+ * cppspec.c: Likewise.
+ * c-pragma.c: Likewise.
+ * crtstuff.c: Likewise.
+ * cse.c: Likewise.
+ * cselib.c: Likewise.
+ * c-semantics.c: Likewise.
+ * c-typeck.c: Likewise.
+
+2001-08-01 H.J. Lu <hjl@gnu.org>
+
+ * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
+
+2001-08-01 H.J. Lu <hjl@gnu.org>
+
+ * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
+
+2001-08-01 Ziemowit Laski <zlaski@apple.com>
+
+ * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
+ contextualizing Objective-C class name lookup by the lexer.
+ (typespec_reserved_nonattr): Disable ObjC class name lookup after
+ seeing a TYPESPEC.
+ (protocoldef): Add support for forward @protocol declarations.
+ (yylexname): Suppress ObjC class name lookup in certain contexts;
+ re-enable after lookup is complete.
+ (_yylex): Re-enable ObjC class name lookup when certain
+ punctuation marks are seen.
+
+ * objc/objc-act.c (check_protocol_recursively): New function used
+ for finding circular dependencies in protocols.
+ (objc_declare_protocols): New function for handling forward
+ @protocol declarations.
+ (receiver_is_class_object): Detect the case when 'self' is used
+ inside of a class method.
+ (build_message_expr): Issue a warning if class method is desired
+ but instance method is found instead.
+ (conforms_to_protocol): Streamline.
+ (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
+ protocol Foo, even if 'Bar foo' does not.
+ (check_protocols): Streamline.
+ (start_protocol): Add checks for circular and duplicate protocol
+ definitions.
+ (encode_aggregate_within): For typedefs of structs, encode the
+ underlying struct.
+ * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
+ (objc_declare_protocols): New prototype.
+
+2001-08-01 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
+ * cpplex.c (handle_newline): Update prototype. Maintain logical
+ line number.
+ (skip_escaped_newlines, skip_block_comment, parse_string):
+ Update accordingly.
+ (_cpp_lex_token): Update, and store token position within the token.
+ * cpplib.h (struct cpp_token): Add line and column entries.
+ * cppmacro.c (replace_args): Position stringified tokens correctly.
+
+2001-08-01 Andreas Jaeger <aj@suse.de>
+
+ * basic-block.h: Add prototype for last_loop_beg_note.
+
+2001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
+
+ * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
+ RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
+ comment.
+ (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
+ while handling WITH_CLEANUP_EXPR node. Use second operand calling
+ expand_decl_cleanup.
+ * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
+ the first RTX.
+ (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
+ operand while calling simple_cst_equal.
+ * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
+ operand is the cleanup expression, the third is the RTL_EXPR.
+ * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
+
+2001-07-31 Jeff Sturm <jsturm@one-point.com>
+
+ * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
+
+2001-07-31 matthew green <mrg@eterna.com.au>
+
+ * config.gcc (i386-*-netbsdelf): New description.
+ * config/i386/netbsd-elf.h: New file.
+
+2001-07-30 Geoffrey Keating <geoffk@redhat.com>
+
+ * loop.c (check_dbra_loop): Use single_set to compute
+ jump_label.
+
+2001-07-31 Daniel Berlin <dan@cgsoftware.com>
- * rs6000.md (zero_extendhisi2): Remove unneeded constraint.
- (lu/stu): Use %0 instead of %1 in assembler insns.
- (call_value): Add missing "=" in constraint.
+ PowerPC reorg and support for powerpc64-*-linux*.
-Wed Jul 8 06:30:20 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ Also fixes emitting of constants on 32 bit and 64 bit
+ platforms.
- * rs6000.md (floatsidf): Correctly handle case when SImode operand
- overlaps the first DFmode register.
+ * config.gcc: powerpc64-*-linux* is a new target.
+ Things that needed aix.h now also include xcoff.h
- * fold-const.c (distribute_bit_expr, range_test, fold_truthop):
- Use TRUTH_AND_EXPR instead of BIT_AND_EXPR so invert_truthvalue works.
+ * config/rs6000/rs6000.h: Split XCOFF specific stuff into
+ xcoff.h.
+ Move AIX specific stuff into aix.h.
+ (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
+ with more than just XCOFF now.
+ (SET_ASM_OP): Remove, now defined where needed.
+ (FUNCTION_PROLOGUE): New macro definition.
+ (FUNCTION_EPILOGUE): New macro definition.
+ (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
- * c-decl.c (grokdeclarator): Strip all NOP_EXPRs from SIZE.
+ * config/rs6000/xcoff.h: New file.
- * integrate.c: Do 64-bit changes (this file omitted the last time).
- Replace use of NULL and 0 in functions args with NULL_RTX.
- (copy_rtx_and_substitute, subst_constants): Handle "w" rtl
- operand class.
+ * config/rs6000/linux64.h: New file.
- * rs6000.h (LINK_SPEC): Support -static.
+ * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
- * tree.c (make_node, copy_node, make_tree_vec, tree_cons, build1):
- Clear or copy tree nodes in a consistent manner, referencing
- every byte of the node.
+2001-07-31 Alan Modra <amodra@bigpond.net.au>
- * regclass.c: Initialize REG_CLASS_CONTENTS into an array of
- ints, then copy into a HARD_REG_SET to avoid conditionalization
- of REG_CLASS_CONTENTS on 64-bit machines.
+ * rs6000.c (print_operand_address): Handle ELF syntax.
+ (output_toc): Simplify. Use DOUBLE_INT_ASM_OP.
+ * rs6000.md (load_toc_aix_di): Handle ELF syntax.
+ * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
- * c-common.c (check_case_value): Strip the NOP_EXPR added by
- the grammar.
- * stmt.c (pushcase, pushcase_range): Don't do it here.
+2001-07-31 David Edelsohn <edelsohn@gnu.org>
- * c-lex.c (yylex): Ensure TOTAL_PARTS is wide enough to store a
- constant as wide as we can store in an INTEGER_CST.
- (LONG_LONG_TYPE_SIZE): Deleted; no longer needed.
+ * rs6000.c (rs6000_override_options): Only disable
+ flag_function_sections for XCOFF.
+ (exact_log2_cint_operand): New predicate.
+ (reg_or_{add,sub}_cint64_operand): New predicates.
+ (add_operand): Compare CONST_INT with fewer function calls.
+ (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
+ (print_operand, case 'p'): Ensure positive operand.
+ (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
+ * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
+ (PREDICATE_CODES): Add new predicates.
+ * rs6000.md (addsi3): Split 32-bit constants more correctly.
+ (divsi3, modsi3): Ensure positive power-of-2.
+ (adddi3): Use new predicate. Split 32-bit constants more
+ correctly. Re-arrange splitter to handle any constant.
+ (subdi3): Use new predicate.
+ (divdi3, moddi3): Ensure positive power-of-2.
+ (movdi): Use rs6000_emit_set_const.
+ (load_toc_v4_pic_di): Delete.
-Tue Jul 7 15:50:38 1992 Chip Salzenberg (chip@tct.com)
+2001-07-31 Graham Stott <grahams@redhat.com>
- * x-i386sco (XCFLAGS): Omit flags specific to "rcc".
- (CC, OLDCC): Put them here instead.
+ * function.c (pad_below): Revert 2001-07-26 patch.
-Tue Jul 7 18:57:10 1992 Mike Stump (mrs@wombat.gnu.ai.mit.edu)
+Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka <jh@suse.cz>
- The below entries should make DWARF debugging a little bit easier.
+ * reg-stack (convert_regs_1): Fix best edge condition.
- * cp-decl.c (pushdecl): IDENTIFIER_GLOBAL_VALUE should not be _DECL
- nodes but rather TYPE_DECLs.
+Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka <jh@suse.cz>
- * cp-decl.c (pushtag): Mark binding layer markers as internal.
+ * jump.c (duplicate_loop_exit_test): Better test for jumps
+ entering the loop; create loop pre_header.
- * cp-class.c (finish_struct): Propagate internal mark on binding
- layer markers.
+2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
- * cp-decl2.c (finish_file): Don't name things that should not be
- named.
-
- * cp-method.c (decl_as_string): New back-end routine for
- substitute_nice_name.
-
- * cp-decl2.c (substitute_nice_name): New function used to create
- reasonable DECL_NAMEs from cyrptic ones.
-
- * cp-decl2.c (grokclassfn): Use substitute_nice_name.
-
-Tue Jul 7 14:04:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * expr.c (emit_move_insn): Don't try subwords for a single word.
-
- * gcc.c (find_a_file, putenv_from_prefix):
- Handle value of 2 in require_machine_suffix.
- (process_command): Supply 2 for standard_exec_prefix{,_1}.
-
- * gstdarg.h: Undefine _BSD_VA_LIST if we define va_list.
-
- * cccp.c (append_include_chain): Fix setting of first_bracket_include.
-
- * loop.c (init_loop): Use word_mode, not SImode.
-
- * x-dpx2: New file.
- * x-dpx2200, x-dpx2300: Files deleted.
- * configure (m68k-bull-sysv*): Fatal error unless --with-gas.
- Always use x-dpx2.
-
- * libgcc2.c (XFtype): Turn off definition; not used.
- (TFtype): Define only if needed.
-
-Tue Jul 7 11:57:44 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
-
- * tahoe.md (call_value): Add `=' to output operand constraint.
- * arm.md (call_value): Likewise.
- * gmicro.md (negsf2, negdf2, abssf2, absdf2): Likewise.
- (peephole for moving returned value to fp reg): Likewise.
-
- * longlong.h (SI_TYPE_SIZE): Renamed from LONG_TYPE_SIZE.
-
- * longlong.h (machine independent code): #define udiv_qrnnd to call
- __udiv_using_sdiv if we have sdiv_qrnnd but not udiv_qrnnd.
- * libgcc2.c (__udiv_using_sdiv): New function.
- * Makefile.in (LIB2FUNCS): Add __udiv_using_sdiv.
-
-Mon Jul 6 23:28:29 1992 Mike Stump (mrs@wombat.gnu.ai.mit.edu)
-
- * cp-dem.c, cp-lex.c, cp-method.c, cp-xref.c: Do not include
- string.h or strings.h.
-
-Mon Jul 6 18:32:31 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * emit-rtl.c (operand_subword): Avoid conditionals in macro arg.
-
- * Changes to support execution on 64-bit machines.
- * machmode.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT, HOST_PTR_PRINTF):
- Provide default definitions.
- (MAX_SHORT): New macro.
- (GET_MODE_BITSIZE): Cast result and shift constant to HOST_WIDE_INT.
- * rtl.h (union rtunion_def): Add field rtwint.
- (XWINT): New accessor macro.
- (INTVAL): Use XWINT, not XINT.
- (exact_log2, floor_log2, plus_constant, plus_constant_for_output):
- Now macros that cast arg to HOST_WIDE_INT.
- (NULL, NULL_PTR): Provide default definitions.
- (GEN_INT): New macro.
- (get_integer_term): Now returns HOST_WIDE_INT.
- * tree.h (NULL, NULL_PTR): Provide default definitions.
- (INT_CST_LT, INT_CST_LT_UNSIGNED): Cast to HOST_WIDE_INT.
- (struct tree_int_cst): Pieces of constant are HOST_WIDE_INT, not
- long.
- (exact_log2, floor_log2, build_int_2): Now macros, like rtl.h.
- * real.h (REAL_VALUE_TYPE, union real_extract): Use HOST_WIDE_INT,
- not long.
- (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XWINT instead of XINT.
- * rtl.def (CONST_INT): Operand type now "w".
- (CONST_DOUBLE): Change operands from type "i" to "w".
- * basic-block.h (REGSET_ELT_BITS): Always use HOST_BITS_PER_WIDE_INT.
- (REGSET_ELT_TYPE): New macro; same as HOST_WIDE_INT.
- * expr.h (ARGS_SIZE_RTX): Use NULL_RTX in expand_expr call.
- (plus_constant): Remove duplicate declaration.
- * hard-reg-set.h (HARD_REG_SET): Only scalar type we use
- is HOST_WIDE_INT; array is array of HOST_WIDE_INT.
- * loop.h (struct induction): Field CONST_ADJUST is now HOST_WIDE_INT.
- (loop_n_iterations): Now unsigned HOST_WIDE_INT.
- (loop_iterations): Returns HOST_WIDE_INT.
- * c-parse.y, cexp.y, c-decl.c, c-lex.c, c-typeck.c, caller-save.c:
- Change 0 or NULL when passed as a parameter that should be a pointer
- to NULL_TREE, NULL_RTX, or NULL_PTR, as appropriate.
- * calls.c, cccp.c, combine.c, cp-lex.c, cse.c, dbxout.c: Likewise.
- * dwarfout.c, emit-rtl.c, explow.c, expmed.c, expr.c: Likewise.
- * final.c, flow.c, fold-const.c, function.c, gcc.c: Likewise.
- * genattrtab.c, genpeep.c, genrecog.c, global-alloc.c: Likewise.
- * jump.c, local-alloc.c, optabs.c, recog.c, reg-stack.c: Likewise.
- * regclass.c, reload.c, reload1.c, reorg.c, rtl.c: Likewise.
- * rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c: Likewise.
- * toplev.c, unroll.c, varasm.c, loop.c, xcoffout.c: Likewise.
- * caller-save.c, combine.c, cp-class.c, cp-decl.c, cp-method.c:
- Cast and declare objects used to refer to wide values as HOST_WIDE_INT.
- Use HOST_BITS_PER_WIDE_INT instead of HOST_BITS_PER_INT.
- * cp-pt.c, cp-type2.c, cp-typeck.c, cse.c, dbxout.c: Likewise.
- * dwarfout.c, emit-rtl.c, explow.c, expmed.c, expr.c: Likewise.
- * final.c, fold-const.c, genattrtab.c, recog.c, reg-stack.c: Likewise.
- * regclass.c, reload.c, sched.c, stmt.c, stor-layout.c: Likewise.
- * loop.c, toplev.c, unroll.c, varasm.c: Likewise.
- * caller-save.c, combine.c, flow.c, global-alloc.c, reorg.c, sched.c:
- When refering to regsets, use type REGSET_ELT_TYPE.
- * calls.c, combine.c, emit-rtl.c, explow.c, expmed.c, expr.c, final.c:
- Use GEN_INT macro when making CONST_INTs.
- * function.c, jump.c, loop.c, optabs.c, recog.c, reload1.c: Likewise.
- * unroll.c: Likewise.
- * cp-decl.c, cp-ptree.c, print-tree.c: Use HOST_PTR_PRINTF when
- printing pointer values.
- * cccp.c, cexp.y, gcc.c (NULL, NULL_PTR): Provide default definition.
- * c-common.c (NULL): Remove definition from here.
- * c-decl.c (NULL): Likewise.
- (finish_struct): Ensure high-order part of width is zero.
- * cp-decl.c (finish_enum): Likewise.
- * c-lex.c (yylex): Call build_int_2 in more portable way.
- (yyprint): Print constant different ways, depending on host parameters.
- * final.c (output_asm_insn, output_addr_cont): Likewise.
- * genattrtab.c (write_test_expr): Likewise.
- * print-tree.c (print_node_brief, print_node): Likewise.
- * cp-decl.c (xref_tag): Remove explicit reference to modes.
- * cp-method.c (build_overload_value): Likewise.
- * cp-lex.c (real_yylex): Make accumulating bits for constant
- more portable.
- * cse.c (uid_cuid): Now pointer to int instead of to short.
- (exp_equiv_p): Change ifs on GET_RTX_FORMAT to a switch.
- Add format code of "w".
- * emit-rtl.c (gen_rtx): Add format code of "w".
- * jump.c (rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.
- * loop.c (rtx_equal_for_loop_p): Likewise.
- * reload.c (operands_match_p): Likewise.
- * rtl.c (copy_rtx, copy_most_rtx): Likewise.
- * rtlanal.c (rtx_equal_p): Likewise.
- * sched.c (rtx_equal_for_memref_p): Likewise.
- * explow.c (plus_constant_wide): Formerly plus_constant; argument
- is HOST_WIDE_INT.
- (plus_constant_for_output_wide): Similarly.
- * fold-const.c: Use MAX_SHORTS for dimension of array of shorts.
- * genattrtab.c (NULL_ATTR): New macro.
- (attr_rtx): Use XWINT, not XINT, for CONST_INT.
- Add case "w".
- (check_attr_test, write_test_expr, main): Use XWINT, not XINT,
- for CONST_INT.
- * genemit.c (gen_exp): Use "NULL_RTX" instead of "0" when
- emitting null.
- Use GEN_INT and proper width when emitting a CONST_INT.
- Abort if trying to write a CONST_DOUBLE.
- * genrecog.c (struct decision): Add new fields TEST_ELT_ZERO_WIDE
- and ELT_ZERO_WIDE.
- (add_to_sequence, not_both_true, merge_trees, write_tree_1):
- Use new fields.
- * global-alloc.c (INT_BITS, INT_TYPE): Use HOST_WIDE_INT for type
- of conflict matrix.
- * loop. (loop_n_iterations): Now HOST_WIDE_INT.
- * recog.c: Remove redundant declarations of plus_constant_for_output
- and copy_rtx.
- * rtl.c: Declare atol if needed.
- (rtx_format): Add code for "w".
- (read_rtx): Read code "w" field with atol if required.
- (init_rtl): Fields of CONST_DOUBLE are now type "w".
- * rtlanal.c (get_integer_term): Returns HOST_WIDE_INT.
- * cccp.c, toplev.c: Error function args are HOST_WIDE_INT (kludge).
- * toplev.c (exact_log2_wide): Renamed from exact_log2 and now has
- arg of type HOST_WIDE_INT.
- (floor_log2_wide): Similarly.
- * tree.c (permalloc): Type of SIZE arg is int, not long.
- (build_int_2_wide): Renamed from build_int_2 and has args of
- type HOST_WIDE_INT.
- * unroll.c (loop_iterations): Now returns HOST_WIDE_INT.
- * varasm.c (immed_double_const): Arguments are now HOST_WIDE_INT.
-
-Mon Jul 6 14:56:26 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * c-common.c (decl_attributes): Don't set DECL_PACKED on VAR_DECL.
-
- * Makefile.in (GCC_CFLAGS):
- Use CROSS_GCC_CFLAGS instead of -B for tooldir.
- * cross-make (CROSS_GCC_CFLAGS): Define as -B for tooldir.
-
- * c-decl.c (finish_function): If return type of `main' is not `int',
- warn instead of doing DEFAULT_MAIN_RETURN.
-
- * collect2.c, dwarfout.c, halfpic.c: Don't incude string.h.
-
- * c-decl.c (duplicate_decls): Let char *foo () match void *foo ()
- only if one of them came from a system header file.
-
- * stmt.c (pushcase): Fix typo.
-
- * Makefile.in (ALLOCA_FINISH): Make default `true'.
-
- * cccp.c (main): Clear first_bracket_include for -I-.
- Set first_system_include for first system header directory.
- (is_system_include): Start search at first_system_include.
-
-Mon Jul 6 12:58:27 1992 Chip Salzenberg (chip@tct.com)
-
- * cccp.c (INCLUDE_LEN_FUDGE): Defined.
- (append_include_chain): New function. Adds directory(ies)
- to include chain and updates value of max_include_len.
- (main, path_include): Use append_include_chain.
- (do_include): Use INCLUDE_LEN_FUDGE.
-
- * tree.h (DECL_IN_SYSTEM_HEADER): Defined.
- (struct tree_decl): Add in_system_header_flag.
- * c-common.c (declare_function_name): For __FUNCTION__
- and __PRETTY_FUNCTION__, set DECL_IN_SYSTEM_HEADER instead
- of TREE_USED to supress `unused' warnings.
- * c-decl.c (duplicate_decls): Merge DECL_IN_SYSTEM_HEADER flag.
- * print-tree.c (print_node): Display TREE_RAISES and
- DECL_IN_SYSTEM_HEADER flags.
- * toplev.c (compile_file): Do not warn if an unused DECL
- has DECL_IN_SYSTEM_HEADER set.
- (rest_of_compilation): Do not set TREE_USED on static
- functions defined in system headers; this will be taken
- care of with DECL_IN_SYSTEM_HEADER.
- * tree.c (make_node): Set DECL_IN_SYSTEM_HEADER on permanent
- decls defined in system headers.
- * objc-actions.c (build_module_descriptor,add_objc_decls):
- Set DECL_IN_SYSTEM_HEADER instead of TREE_USED on compiler-
- created decls.
-
-Mon Jul 6 10:17:30 1992 Michael Collison (collison at osf.org)
-
- * i386.h (SUBTARGET_SWITCHES):
- Incoporate SUBTARGET_SWITCHES into TARGET_SWITCHES.
- (HALF_PIC_P, HALF_PIC_NUMBER_PTRS, HALF_PIC_NUMBER_REFS,
- HALF_PIC_ENCODE, HALF_PIC_DECLARE, HALF_PIC_INIT,
- HALF_PIC_ADDRESS_P, HALF_PIC_PTR, HALF_PIC_FINISH):
- Define these as stubs if not OSF/1 platform.
- * i386.md (movsi): Recognize half-pic moves.
-
-Mon Jul 6 11:16:47 1992 Tim Moore (moore@defmacro.cs.utah.edu)
-
- * pa.h (ASM_DECLARE_FUNCTION_NAME): Fix typo
-
-Mon Jul 6 08:48:51 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
-
- * m68k.md (swapsi): Add `+' operand constraints.
- (insert to memory recognizer): Add `+'.
- (peephole for moving returned value to fp reg): Add `='.
+ * doc/install.texi: Add s390 and s390x as new targets.
+ * doc/invoke.texi: Add documentation of S/390 and zSeries
+ target options.
+ * doc/md.texi: Add documentation of S/390 and zSeries constraints.
-Sun Jul 5 16:34:24 1992 John F Carr (jfc at Achates.mit.edu)
+2001-07-30 Roman Zippel <zippel@linux-m68k.org>
- * vax.md (addsi3): Code generation improvements (whether to use movab).
+ * config/m68k/m68k.md: Replace all general_operand with
+ nonimmediate_operand for all destinations.
+ * config/m68k/m68k.c (not_sp_operand): Likewise.
- * vax.md (andsi3, andhi3, andqi3): If one of the source operands
- is a constant, complement that operand instead of a register or
- memory operand.
+Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
-Sun Jul 5 13:16:15 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
- * combine.c (try_combine): When splitting using a DEFINE_SPLIT,
- update the number of sets of the destination if it is being set
- twice. Also update reg_significant.
+2001-07-30 Richard Henderson <rth@redhat.com>
-Sun Jul 5 13:14:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
+ * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
- * c++: Fix typo testing $quote for nullness.
+2001-07-30 Roman Zippel <zippel@linux-m68k.org>
- * cse.c (simplify_binary_operation): Don't put sum of two symbolic
- addresses into a CONST.
+ * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
+ Add missing doc strings
+ * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
+ * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
- * m68kv4.h (ASM_OUTPUT_ALIGNED_COMMON): #undef this.
- (ASM_OUTPUT_ALIGNED_LOCAL): #undef this.
- (ASM_OUTPUT_ASCII): New overriding definition.
- (ASM_OUTPUT_CASE_END): New overriding definition.
+Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka <jh@suse.cz>
- * c-typeck.c (convert_arguments): No -Wconversion warning
- if the function wants an enumeral type.
+ * i386.c (ix86_output_main_function_alignment_hack): New function.
+ (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
- * tek6000.h, tek6100.h, tek6200.h: New files.
- * configure (ns32k-tek6100-bsd, ns32k-tek6200-bsd): New alternatives.
- * config.sub: utek is synonym for bsd.
+ * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
+ edges by EDGE_DFS_BACK flag.
+ (dump_edge_info): Add dfs_back flag.
+ * basic-block.h (EDGE_DFS_BACK): New constant.
+ (mark_dfs_back_edges): Declare.
+ * alias.c (loop_p): Remove.
+ (mark_constant_function): Use mark_dfs_back_edges.
- * Makefile.in (alloca.o): Add -c.
+ * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
+ (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
+ (compensate_edge): Break out from ...
+ (convert_regs_1): ... here; do smart choosing of stack_out to copy.
+ (convert_regs_2): Set block_done once block is really done;
+ Do updating of the predecessors counts.
- * Makefile.in (start.encap): Use LIBGCC1, not LIBGCC1_TARGET.
- (GCC_CFLAGS): Find executables in $(tooldir)/bin, not $(tooldir).
- (libgcc1.cross): New target.
- (all.cross, cross-test): Depend on libgcc.a.
- * cross-make (LIBGCC1): Use libgcc1.cross.
+ * toplev.c (rest_of_compilation): Recompute block_for_insn
+ before post-reload cfg_cleanup.
+ * function.c (thread_prologue_epilogue_insns):
+ Call set_block_for_new_insns when emitting prologue directly.
- * Makefile.in (USER_H): va-hp800.h changed to va-pa.h.
- (install-common): Fix typo.
+2001-07-30 Andreas Jaeger <aj@suse.de>
- * stmt.c (pushcase, pushcase_range): Use STRIP_NOPS on the values.
+ * jump.c: Add prototype for mark_modified_reg.
- * x-amix, x-i860v4, x-ncr3000, x-sparcv4: Undo last change.
- * x-i386v4, x-m68kv4: Files deleted.
- * configure (i386-*-sysv4, i486-*-sysv4, m68k-*-sysv4):
- Corresponding changes.
+ * cse.c (set_live_p): Add unused attribute.
- * c-decl.c (duplicate_decls): Don't warn about disagreement in `inline'
- except when non-inline fn is made inline after a call or definition.
+ * gcov.c (calculate_branch_probs): Use gcov_type to avoid
+ overflow.
+ (scan_for_source_files): Use long for count to avoid overflow.
+ (output_data): Likewise.
+ (output_data): Don't use string concatatenation to silence gcc
+ -traditional.
-Sun Jul 5 10:25:22 PDT 1992 Ron Guilmette (rfg at ncd.com)
+ * predict.c: Fix typos and grammar.
- * c-decl.c (grokdeclarator): Make `long long long' an error, not a
- warning. Make duplicate qualifiers do pedwarn, not warning.
+ * gcse.c (insert_insn_end_bb): Remove unused variables.
- * c-decl.c (pushdecl): Always create a new (variant) ..._TYPE node
- for each new TYPE_DECL node created.
+Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka <jh@suse.cz>
- * libgcc2.c (UQItype, SItype, USItype, DItype, UDItype, SFtype, DFtype,
- XFtype, TFtype): Typedefs added.
- (SI_TYPE_SIZE): Renamed globally from LONG_TYPE_SIZE.
- Define names for ANSI C types to `bogus_type' over the range of lines
- where we must always use the new mode-related types. Undef them again
- at the end of that range (so we can used the ANSI types again), and
- then define the mode-related type names to `bogus_type' to insure
- those are not used from then on.
+ * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
+ (attempt_auto_inc): LIkewise.
+ (mark_used_reg): Likewise.
+ (try_pre_increment_1): Likewise.
+ * regclass.c (regclass): Likewise.
+ * global.c (allocno_compare): Update comment; change scaling factor.
+ * local-alloc.c (QTY_CMP_PRI): Likewise.
+ * regs.h (REG_FREQ_FROM_BB): New.
+ (REG_FREQ_MAX): Likewise.
- * libgcc2.c, longlong.h (DIstruct): Renamed globally from `longlong'.
- (DIunion): Renamed globally from `long_long'.
- Universally use the new mode-related type names for all functions
- and macros which expect, yield, or otherwise rely on operands to be
- of certain GCC-defined machine modes.
+2001-07-30 H.J. Lu <hjl@gnu.org>
-Sun Jul 5 11:11:00 1992 Torbjorn Granlund (tege@wombat.gnu.ai.mit.edu)
+ * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
+ -D_GNU_SOURCE.
- * pa.h: (TARGET_VERSION): Print " (hppa)".
- * pa.md (zdepi recognizer): Add attribute.
- (recognizers for SImode load and store with fpregs): Add `=' to
- operand 0.
+2001-07-30 H.J. Lu (hjl@gnu.org)
-Sat Jul 4 15:02:19 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
+ (ASM_DECLARE_FUNCTION_SIZE): Likewise.
+ (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
- * configure (mips-*-sysv4): Don't set use_collect2.
+2001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
- * c-parse.y (primary): Wrap a NOP_EXPR around an enum value.
+ * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
+ as -mthumb-interwork when -mcpu=arm7 is specified.
- * libgcc2.c (__builtin_saveregs for i860): Test __svr4__, not SVR4.
- * va-i860.h: Test __svr4__.
+Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
- * c-decl.c (finish_function): Set BLOCK_SUPERCONTEXT of outer block.
+ * predict.def (noreturn, loop branch, loop exit): Mark as first
+ match heuristics.
- * x-m88kv3: File deleted.
+Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
- * x-sparcv4 (X_CFLAGS): Add -dn.
+ * combine.c (try_combine): Avoid barrier after noop jumps.
- * reorg.c: Move the #ifdef DELAY_SLOTS after the #includes.
+2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
-Sat Jul 4 14:16:33 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * cpphash.h (struct cpp_reader): Remove import_warning.
+ * cpplib.c (skip_rest_of_line): Don't bother turning off
+ macro expansion.
+ (parse_include): Move include handling to...
+ (do_include_common): ... here. Move import warning from...
+ (do_import): ... here.
+ (do_pragma_poison): Don't do a callback for poison identifiers.
+ * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
+ * cppmain.c (setup_callbacks): Similarly.
- * combine.c (SUBST): Ensure we don't call something that can make
- a new undo entry in the middle of our making one.
+Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
-Sat Jul 4 12:17:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
+ handle multiple sets.
+ * except.c (sjlj_mark_call_sites): .... here.
+ * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
- * Makefile.in (cp-parse.c): Append YYEMPTY to cp-parse.h, not ...y.
+Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
- * cse.c (simplify_unary_operation): Add aborts in zero_extend
- and sign_extend cases, explaining how they might need to be changed.
+ Suggested by Richard Henderson and Richard Kenner:
+ * combine.c (recog_for_combine): Use the fake recog
+ only if instruction does not match.
+ * rtl.h (NOOP_MOVE_INSN_CODE): New.
+ * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
- * i960.h (WORD_SWITCH_TAKES_ARG): Fix typo.
+ * combine.c (try_combine): Discover noop jump as direct jump.
- * x-amix, x-sparcv4, x-i860v4, x-i386v4, x-ncr3000:
- Add -static to X_CFLAGS.
- * x-m68kv4: New file.
- * isc.h (HANDLE_SYSV_PRAGMA): Defined.
+2001-07-29 Daniel Berlin <dan@cgsoftware.com>
-Sat Jul 4 15:18:33 PDT 1992 Ron Guilmette (rfg at ncd.com)
+ * df.c (df_rd_global_compute): Add successors to worklist, not
+ current item.
+ (df_ru_global_compute): Ditto.
- * xm-spc-sol2.h: New file.
+2001-07-27 Daniel Berlin <dan@cgsoftware.com>
- * tree.h (DECL_UID): Definition added.
- (struct tree_decl): `uid' field added.
- * tree.c (DECL_UID): Initialize this uniquely for each new ..._DECL.
+ * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
+ increment REG_N_SETS.
- * rtl.h (NOTE_INSN_DELETED_LABEL): Definition added.
- * rtl.c (note_insn_name): Add entry for NOTE_INSN_DELETED_LABEL.
- * final.c (final_scan_insn): Call `dwarfout_label' for each
- `NOTE_INSN_DELETED_LABEL'.
- * jump.c (delete_insn): Don't really delete CODE_LABELs corresponding
- to user-declared lables... Turn them into NOTE_INSN_DELETED_LABELs
- instead.
+2001-07-26 Daniel Berlin <dan@cgsoftware.com>
- * dwarf.h (AT_abstract_origin): Renamed from AT_specification.
- * dwarfout.c (dwarf_attr_name): Likewise.
- (dwarf_tag_name, dwarf_attr_name, dwarf_stack_op_name,
- dwarf_typemod_name, dwarf_fmt_byte_name): Use normal DWARF prefixes
- for string names of unrecognized values.
- (is_block_body): New function added.
- (DECL_NAME_FMT): Definition added.
- (equate_decl_number_to_die_number, abstract_origin_attribute,
- pure_or_virtual_attribute): New functions added.
- (src_coords_attribute): Only define this is DWARF_DECL_COORDINATES
- is defined.
+ * sbitmap.h: New prototype for sbitmap_a_xor_b.
- * populate: New file.
+ * sbitmap.c (sbitmap_a_xor_b): New function.
+ ifdef the basic block stuff on IN_GCC.
- * function.c (instantiate_decls): Delete #if 1.
+2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
- * flags.h, toplev.c, dbxout.c (use_gnu_debug_info_extensions):
- Renamed from `use_gdb_dbx_extensions'.
+ * cppexp.c (parse_defined): Always record the macro name.
+ (lex): Don't worry about identifiers, or special-case
+ CPP_NOT here.
+ (_cpp_parse_expr): Figure out at the end of the routine
+ whether we saw a valid !defined() expression.
+ * cppfiles.c (stack_include_file): Update for mi_valid.
+ (_cpp_pop_file_buffer): Similarly.
+ * cpplex.c (_cpp_lex_token): Similarly.
+ * cpphash.h (enum mi_state, enum mi_ind, mi_state,
+ mi_if_not_defined, mi_lexed): Remove.
+ (mi_valid): New.
+ * cpplib.c (do_if): Simplify.
+ (do_endif, push_conditional, _cpp_handle_directive): Update
+ for renaming of mi_state to mi_valid.
+doc:
+ * cpp.texi: Add index entries for digraphs, and add comment
+ that C++ refers to them as alternative tokens.
- * toplev.c (main): Added support for -gdwarf+ and for -gxcoff+.
+Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
-Sat Jul 4 08:39:47 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * basic-block.h (CLEANUP_PRE_LOOP): New.
+ * except.c (finish_eh_generation): Update call of cleanup_cfg.
+ * sibcall.c (optimize_sibling_calls): Likewise.
+ * toplev.c (rest_of_compilation): Likewise.
+ * flow.c (try_forward_edges): Take argument MODE;
+ do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
+ (try_optimize_cfg): Update call of try_forward_edges.
- * m88k.c (m88k_end_prologue): Reset frame_laid_out here.
- (m88k_expand_prologue): Not here.
+Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
+ Jan Hubicka <jh@suse.cz>
- * m88k.h (IDENT_ASM_OPT, ALIGN_ASM_OPT, ASM_OUTPUT_CASE_LABEL):
- Override svr4.h.
+ * (validate_replace_rtx_1): Fix simplification of MINUS.
-Fri Jul 3 12:40:27 1992 Paul Eggert (eggert@twinsun.com)
+2001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
- * fold-const.c (fold_convert): When converting a floating point
- constant to integer, warn about out-of-range values after truncating
- to integer, not before.
+ PR preprocessor/3669
+ * cppinit.c (init_dependency_output): Turn off dump requests
+ if sending dependencies to stdout.
-Fri Jul 3 19:34:07 1992 Mike Stump (mrs@hal)
+2001-07-28 Richard Henderson <rth@redhat.com>
- * Makefile.in ($(srcdir)/cp-parse.c): extract YYEMPTY out of the
- parser generated .c file and put in the parser .h so that cp-lex.c
- does not have to define it.
+ * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
+ not optimizing.
- * cp-tree.c (__eprintf): Third argument line is now unsigned,
- completes Ron's Jul 2 change.
+2001-07-28 Golubev I. N. <gin@mo.msk.ru>
-Fri Jul 3 15:03:30 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
- * configure: Set FIXINCLUDES in Makefile based on sysv4 or not.
- * x-amix (ENQUIRE_CFLAGS, FIXINCLUDES): Deleted.
+2001-07-28 Kazu Hirata <kazu@hxi.com>
- * config.sub: Recognize i486 like i386.
+ * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
+ is VAR_DECL first to prevent an ICE.
- * defaults.h (ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ADDR_VEC_ELT):
- (ASM_OUTPUT_ADDR_DIFF_ELT, ASM_STABD_OP): New default definitions.
- * final.c: Include defaults.h.
- (ASM_STABD_OP): Deleted.
- * Makefile.in (final.o) Depend on defaults.h.
+2001-07-28 Richard Henderson <rth@redhat.com>
+
+ * varasm.c (immed_real_const_1): Don't elide special cases for
+ nested functions.
+ (clear_const_double_mem): Clear const_tiny_rtx too.
+
+2001-07-28 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (dw_val_class_offset): New.
+ (struct dw_ranges_struct, dw_ranges_ref): New.
+ (ranges_table, ranges_table_allocated): New.
+ (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
+ (add_AT_offset, add_ranges, output_ranges): New.
+ (print_die, output_die): Handle dw_val_class_offset.
+ (attr_checksum, size_of_die, value_format): Likewise.
+ (gen_lexical_block_die): Handle non-contiguous blocks.
+ (gen_block_die): Likewise.
+ (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
+ if needed. Dump the ranges table.
+ * final.c (final_start_function): Remove unnecessary notes and
+ rebuild the block tree before numbering the blocks.
+ * function.c (reorder_blocks_0): Walk the existing block tree
+ to unmark all blocks.
+ (reorder_blocks_1): Create block fragments when duplicate block
+ notes are seen.
+ (reorder_fix_fragments): New.
+ (reorder_blocks): Call it.
+ * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
- * Makefile.in (toplev.o): Use MAYBE_TARGET_DEFAULT.
- * configure: Set MAYBE_TARGET_DEFAULT for some targets.
- Use 3, if target is i486...
- Recognize i486 as well as i386 for most targets.
+2001-07-28 Richard Henderson <rth@redhat.com>
- * x-hp320g (LIBGCC1, AR, RANLIB, RANLIB_TEST, LIBCONVERT): Deleted.
- * t-hp320g (LIBGCC1, AR, RANLIB, RANLIB_TEST, LIBCONVERT): Defined.
- * t-svr4 (FIXINCLUDES): Deleted.
+ * emit-rtl.c (adjust_address): Make a copy of the memory address.
- * Makefile.in (ENQUIRE_CFLAGS): Add -DNO_LONG_DOUBLE_IO.
+2001-07-28 Richard Henderson <rth@redhat.com>
- * fold-const.c (BRANCH_COST): Add default definition.
+ * flow.c (add_to_mem_set_list): New function.
+ (init_propagate_block_info): Use it.
+ (mark_set_1): Likewise.
+ (insn_dead_p): Canonicalize memory address for dead store
+ comparison. Allow wider mode stores to kill narrower mode stores.
+ (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
+ (invalidate_mems_from_set): Don't handle MEMs.
- * cp-tree.h: Declare intQI_type_node, etc.
- * cp-decl.c: Declare intQI_type_node, etc.
- (init_decl_processing): Initialize those nodes.
+2001-07-28 Kazu Hirata <kazu@hxi.com>
-Thu Jul 2 15:18:33 PDT 1992 Ron Guilmette (rfg at ncd.com)
+ * config/h8300/h8300.h: Fix formatting.
- * amix.h (ASM_OUTPUT_CASE_END, ASM_OUTPUT_ALIGNED_LOCAL): Output
- tabs before SET_ASM_OP.
+Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
- * Makefile.in (dwarfout.o): Dependency on defaults.h added.
+ * basic-block.h (EDGE_FREQUENCY): New macro.
+ * bb-reorder (fixup_reorder_chain): Set counts and frequencies
+ for new BB/edges.
+ * flow.c (find_sub_basic_blocks): Likewise.
+ (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
+ (redirect_edge_and_branch): Use EDGE_FREQUENCY.
- * sparcv4.h: Include real.h.
- (SET_ASM_OP): Undef it.
+ * predict.c (DEF_PREDICTOR): New argument FLAGS.
+ (HITRATE): New macro.
+ (PRED_FLAG_FIRST_MATCH): New constant.
+ (predictor_info): New field flgags.
+ (combine_predictions_for_insn): Use DS theory to combine
+ probabilities; set the edge probabilities when finished.
+ (estimate_probability): Avoid duplicated matches
+ of LOOP_BRANCH heuristics for nested loops; update comment.
+ * predict.def: Add flags for each prediction, set probabilities
+ according to B&L paper.
+ * predict.h (DEF_PREDICTOR): New argument FLAGS.
- * svr4.h (IDENT_ASM_OP): Added generic svr4 definition.
- (ASM_FILE_END, ASM_OUTPUT_IDENT): Use IDENT_ASM_OP.
- (ALIGN_ASM_OP): Added generic svr4 definition.
- (ASM_OUTPUT_CASE_LABEL): Added generic svr4 definition.
+ * profile.c (compute_branch_probabilities): Cleanup way the edge
+ probabilities are computed and REG_BR_PROB notes are dropped; if
+ values does not match, emit error.
+ (init_branch_prob): Do error instead of warning when profile driven
+ feedback is missing or corrupt.
- * i860.c (strict_single_insn_op_p, relop): Deleted.
- * i860.h (ASM_OUTPUT_CASE_LABEL): Fixed definition to use
- ASM_OUTPUT_ALIGN and ASM_OUTPUT_INTERNAL_LABEL.
- * i860b.h, i860v3.h (TARGET_VERSION): Definitions added.
- * i860v3.h (CPP_PREDEFINES): Predefine __svr3__ rather than SVR3.
+2001-07-27 DJ Delorie <dj@redhat.com>
- * c-decl.c (named_labels): Change linkage to static.
+ * ifcvt.c (noce_get_alt_condition): If the condition is a compare
+ against a constant, try to adjust the compare to have the desired
+ constant in it so that min/max optimizations happen more often.
- * assert.h (__eprintf): Declare 3rd arg as unsigned.
+Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
- * cccp.c (do_include): Don't do fprintf's if inhibit_warnings.
- Renamed system_header_p to angle_brackets. Use is_system_include.
- (is_system_include): New function.
- (redundant_include_p) : Renamed from lookup_include.
+ * flow.c (last_loop_beg_note): New function.
+ (redirect_edge_and_branch): Use it.
+ (split_edge): Likewise.
- * c-common.c (type_for_size): If no ANSI type matches, check for
- matches with built-in mode-releated types.
- (type_for_mode): Likewise.
- * c-decl.c: Added declarations for mode-related internal type nodes.
- (init_decl_processing): Initialize the new type nodes.
- * c-tree.h: Added declarations for mode-related internal type nodes.
- intQI_type_node, etc.
+ * alias.c (loop_p): Avoid uninitialized memory access.
- * c-lex.c (yylex): For integers, rename shorts to parts.
- Let the number of them be variable. Simplify overflow testing.
- Don't use long long types unless ll was specified.
- Don't warn twice.
+ * flow.c (try_forward_edges): Avoid accessing freed memory.
-Thu Jul 2 20:30:20 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+ * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
+ variable access.
- * gstdarg.h: #ifdef _STDARG_H, not __STDARG_H.
+2001-07-26 Andrew Haley <aph@redhat.com>
+ Joern Rennecke <amylaar@redhat.com>
-Thu Jul 2 18:18:07 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
+ (SUBTARGET_CPP_ENDIAN_SPEC): New.
+ (SUBTARGET_CPP_SPEC): New.
+ (CPP_SPEC): Remove.
+ * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
+ (SUBTARGET_CPP_PTR_SPEC): New.
+ (CPP_DEFAULT_CPU_SPEC): New.
+ (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
+ SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
+ (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
+ SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
+ (SUBTARGET_CPP_SPEC): Define as an empty string.
+
+2001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
- * global.c: Renamed from global-alloc.c.
+ * doc/install.texi (Configuration): Properly link the host
+ specific instructions also when generating HTML.
-Thu Jul 2 15:36:25 1992 Torbjorn Granlund (tege@wombat.gnu.ai.mit.edu)
+Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
- * pa.c (zdepi_operand): New function.
- (emit_move_sequence): Use it.
- * pa.md: New pattern to recognize cases where zdepi can be used to
- load immediate constant.
- (insv): Allow obvious immediate values.
- (insv + 1): New recognizer for non-obvious immediate values.
+ * flow.c (redirect_edge_and_branch_force): Test
+ target->global_live_at_start.
-Thu Jul 2 15:13:15 1992 Michael Meissner (meissner@osf.org)
+2001-07-26 Richard Henderson <rth@redhat.com>
- * halfpic.c (half_pic_encode): Consider variables which are 'common'
- variables to need pic fixup. Move the debug code, so that it prints
- for all calls, and calls debug_tree also.
- (half_pic_address): When doing eliminate_constant_term on a CONST,
- do a XEXP (addr, 0) to get to the real address.
+ * simplify-rtx.c (avoid_constant_pool_reference): Export.
+ * rtl.h (avoid_constant_pool_reference): Declare it.
+ * dwarf2out.c (add_location_or_const_value_attribute): Use it.
+ (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
- * decrose.h (CPP_SPEC, CC1_SPEC): If neither -fbuiltin nor
- -fno-builtin are passed, pass -fno-builtin, and renable the string
- and memory builtins via macros. This is to support compiling the
- OSF/1 kernel which has a prototyped exit function which takes three
- arguments. With no -pic switches, default to using shared libs.
+Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
- * i386rose.h (CPP_SPEC, CC1_SPEC): If neither -fbuiltin nor
- -fno-builtin are passed, pass -fno-builtin, and renable the string
- and memory builtins via macros. This is to support compiling the
- OSF/1 kernel which has a prototyped exit function which takes three
- arguments. Turn off pic support until the 386 backend supports it.
+ * rtl.h (cleanup_barriers): Declare.
+ * jump.c (cleanup_barriers): New function.
+ * toplev.c (rest_of_compilation): Call cleanup_barriers
+ before loop optimizer and after bb_reorder.
- * x-i386rose (SHLIB): Use -pic-none instead of -L${BUILD}/usr/ccs/lib.
+ * flow.c (back_edge_of_syntactic_loop_p): New.
+ (split_edge): Use it.
- * x-decrose (SHLIB): Use -pic-none instead of -L${BUILD}/usr/ccs/lib.
+2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- * mips.md (movsi): Rewrite handling of half-pic code so that load
- address of symbol + value is handled.
- (branch_zero): Don't allow branch comparing constant to 0.
+ * glimits.h (_MACH_MACHLIMITS_H_): Delete.
-Thu Jul 2 06:26:38 1992 Tom Wood (wood@dg-rtp.dg.com)
+Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
- * m88k.md (blockage insn): Renamed from profiler.
- (epilogue insn): Don't provide this if a return insn will suffice.
- (m88k_end_epilogue): If the last insn isn't a barrier, print a return.
- * m88k.c (null_prologue): Renamed from null_epilogue.
+ * cse.c (cse_process_notes): Replace any registers if the address
+ remains valid.
- * m88k.c (condition_value): New function.
- * m88k.md (compare word insns): New insns and define_split
- patterns to take advantage of recent fold_truthop change.
+Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
- * m88k.h (ADDITIONAL_REGISTER_NAMES): Represent the condition code
- register as (reg:CC 0). Give it the names "cc" and "psr".
- * m88k.md (superoptimizer sequences): New define_split patterns.
- (add/sub with carry): New insns.
- (add/sub DImode, ffssi2): Clobber the condition code register.
+ * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
+ (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
+ (propagate_block): Update prototype.
+ * flow.c (update_life_info): Simplify the CFG and
+ recalculate the global regs which are alive when
+ removing dead code during a global update.
+ (propagate_block): Return nonzero if an INSN is
+ deleted.
-Wed Jul 1 13:37:37 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- * gstddef.h Don't define macros associated with size_t unless we
- actually want to declare size_t. Likewise for ptrdiff_t and wchar_t.
+ * Makefile.in (LIBICONV): Define.
- * Makefile.in (install-common): Depend on xgcc, g++, c++, EXTRA_PARTS.
- Don't delete specs from libsubdir unless it exists in build dir.
+2001-07-26 Catherine Moore <clm@redhat.com>
- * va-pa.h: Renamed from va-hp800.h.
- * gstdarg.h, gvarargs.h: Use new name.
+ * config/v850/v850.h (ENCODE_SECTION_INFO): Change order
+ of conditional to avoid tree checking errors.
- * news3.h, news3gas.h: New files.
- * configure (m68k-sony-newsos3*): New alternative.
+2001-07-26 Kazu Hirata <kazu@hxi.com>
- * romp.h (SIZE_TYPE): Defined.
+ * regmove.c (regmove_optimize): Don't replace a reg with
+ another reg of a different mode.
- * configure: Support --exec-prefix. Simplify handling
- detached arguments of options.
+2001-07-26 Andrew MacLeod <amacleod@redhat.com>
- * isc.h, and other related files:
- waiting for entries from karl@cs.umb.edu.
+ * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
+ limit length of dependency flush list.
+ * params.h (MAX_PENDING_LIST_LENGTH): Define.
+ * sched-int.h (struct deps): Add pending_flush_length field.
+ * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
+ has 1 element in it.
+ (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
+ (sched_analyze): After a jump, if the pending memory flush list is too
+ large, flush the pending lists.
+ (init_deps): Initialize pending_flush_length to 0.
+ * doc/invoke.texi (max_pending_list_length): Document parameter.
-Wed Jul 1 12:04:53 1992 Ron Guilmette (rfg at ncd.com)
+2001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
- * c-decl.c (grokdeclarator): Don't mark file-scope register variables
- as TREE_PUBLIC.
+ * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
+ * dbxout.c (dbxout_global_decl): Move outside #ifdef.
+ * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
-Wed Jul 1 12:04:53 1992 Karl Berry (karl@cs.umb.edu)
+2001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
- * i386iscgas.h (SIZE_TYPE, PTRDIFF_TYPE): Define these, since we
- need to override GCC's defaults.
+ * cpphash.h (struct_lexer_state): Delete was_skipping.
+ Move skipping here from struct cpp_reader.
+ * cpplex.c (parse_identifier): Update.
+ (_cpp_lex_token): Don't skip tokens in a directive.
+ * cpplib.c (struct if_stack): Update.
+ (start_directive, end_directive): Don't change skipping state.
+ (_cpp_handle_directive): Update.
+ (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
+ (do_else, do_endif): Update; only check for excess tokens if not
+ in a skipped conditional block.
+ (push_conditional): Update for new struct if_stack.
- * configure (i386-*-isc): Use different files if we have gas.
- * t-i386iscgas, i386iscgas.h, isc.h: New files
- * i386isc.h: Include isc.h. Most of contents moved to isc.h.
- * bsd386.h (ASM_OUTPUT_LABELREF) [NO_UNDERSCORES]: do not prepend an
- underscore in this case.
- * i386gas.h (CPP_SPEC): if -posix, do -D_POSIX_SOURCE.
+2001-07-26 Graham Stott <grahams@redhat.com>
-Wed Jul 1 09:13:44 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * function.c (locate_and_pad_parm): Also pad initial offset
+ so that the total argument size also includes the padding.
- * fold-const.c (fold_truthop): Renamed from merge_component_references.
- (simple_operand_p): New function.
- (range_test): Change JCODE parameter to the unconditional operation.
- (fold_truthop): When branches are expensive, try to evaluate the
- RHS unconditionally. Compute local variables as late as possible.
+2001-07-26 Graham Stott <grahams@redhat.com>
- * m88k.h (HANDLE_SYSV_PRAGMA): Replaces HANDLE_PRAGMA.
- * m88k.c (m88k_handle_pragma_token): Deleted.
+ * gensupport.c (alter_output_for_insn): Correct enable checking failure
+ change XSTR to XTMPL.
-Tue Jun 30 15:32:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ (process_one_cond_exec): Likewise
- * c-decl.c (duplicate_decls): If newdecl for builtin function
- has same return mode as the builtin, keep the builtin
- but use newdecl's return type.
+2001-07-25 Richard Henderson <rth@redhat.com>
- * i386.md (lshrdi3_const_int): Fix typo in shr insn.
+ * varasm.c (assemble_variable): Create DECL_RTL before setting
+ TREE_ASM_WRITTEN.
- * Makefile.in (GCC_CFLAGS): Add `-B$(tooldir)/'.
+Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
- * i386sun.h, rs6000-mach.h, sparc.h, sun2o4.h, sun3.h (LINK_SPEC):
- Inhibit the default -e if -r or -nostdlib.
+ * predict.c (estimate_probability): Avoid duplicated predictions.
- * c-decl.c (lookup_label): Call label_rtx.
+ * loop.c (find_and_verify_loops): Grok multiple barriers.
- * c-parse.y (primary): Rearrange and clean up. In C_DECL_ANTICIPATED
- case, always call assemble_external and set TREE_USED.
+Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-Mon Jun 29 22:27:49 1992 Mike Stump (mrs@wombat.gnu.ai.mit.edu)
+ * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
- * cccp.c, cp-dem.c, dbxout.c, cp-lex.c, cp-xref.c, cp-method.c,
- dwarfout.c, c-typeck.c, mips-tfile.c, protoize.c, collect2.c: Make
- the compiler more consistent by using index and rindex everywhere
- instead of sometimes using strchr and strrchr.
+ * dbxout.c: Consistently use putc instead of fputc.
+ (print_wide_int): New function; call instead of direct fprintf.
+ (dbxout_type_index): Adjust calls of CHARS to be more accurate.
+ (dbxout_type_fields, dbxout_type_method_1): Likewise.
+ (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
+ (print_int_cst_octal): Likewise.
+ (print_octal): Show we wrote characters.
+ (dbxout_type): Set have_used_extensions in more places.
-Mon Jun 29 22:20:13 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-07-25 Catherine Moore <clm@redhat.com>
- * regclass.c (regclass): Restore some accidentally-deleted code.
+ * config/v850/v850.c (v850_va_arg): Use addr
+ instead of valist to build incr.
-Mon Jun 29 12:48:05 1992 Nobuyuki Hikichi (hikichi@sra.co.jp)
+Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
- * collect2.c (MY_ISCOFF): New macro.
- (scan_prog_file): Use that instead of ISCOFF.
+ * flow.c (delete_dead_jumptables): New function.
+ (life_analyzis): Call it.
+ * bb-reorder.c (skip_insns_after_block): Handle contradictory
+ sequences.
- * mips.c (override_options) [MIPS_NEWS]: Call setlinebuf.
+2001-07-25 Richard Henderson <rth@redhat.com>
-Mon Jun 29 12:48:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * except.c (reachable_handlers): Handle a region being removed
+ out from under a RESX.
- * gcc.c (do_spec_1): For %I, pass -iprefix, not -imacros.
+2001-07-25 Richard Henderson <rth@redhat.com>
- * c-common.c (decl_attributes): For `packed' on VAR_DECL,
- set DECL_PACKED and DECL_ALIGN.
+ * config/alpha/alpha.c (alpha_emit_conditional_move): Always
+ swap GE/GT if it is an fp comparison.
- * configure: Update usage message.
- (m68k-sony-newsos*, mips-sony-newsos*): New synonyms.
+2001-07-25 Andrew Haley <aph@cambridge.redhat.com>
- * fold-const.c (merge_component_references):
- Make sure the four fields correspond in the proper order.
+ * alias.c (rtx_equal_for_memref_p): Allow strings as types in
+ operands.
- * c-lex.c (check_newline): Support HANDLE_SYSV_PRAGMA.
- (handle_sysv_pragma): New function.
- * c-pragma.c: New file.
- * stor-layout.c (maximum_field_alignment): New variable.
- (layout_decl): Use it.
- * Makefile.in (C_OBJS, OBJC_OBJS): Add c-pragma.o
- (c-pragma.o): New rule.
+Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
- * i386.c (handle_pragma_token): Function deleted.
- * i386v4.h (HANDLE_PRAGMA): Deleted.
+ * ssa.c (rename_insn_1): Do not wrap an assignment to a
+ paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
+ glitch.
- * g++: Reestablish symlink to c++.
- Delete the testing of $TRACE--this could confuse people.
- Delete spurious assignment of $version.
+ * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
+ throw an exception.
+ (visit_expression): When attempting to simplify an expression,
+ retrieve any modes for arguments before they are simplified
+ to constants.
- * tree.h (DECL_PACKED): Store this in regdecl_flag.
+2001-07-25 Andrew MacLeod <amacleod@redhat.com>
+ Janis Johnson <janis@us.ibm.com>
- * Makefile.in (LIB2FUNCS): Change _builtin_New to _caps_New.
- * libgcc2.c: Change L_builtin_New to L_caps_New.
+ * stmt.c (expand_goto): A nonlocal goto can be a call too.
+ * builtins.c (expand_builtin_longjmp): Reverse label and static chain
+ pointer parameters to match documented usage of nonlocal_goto.
+ * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
+ parameters to their correct order.
+ * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
+ parameters to their correct order.
- * dbxout.c (dbxout_symbol): Pass 3 args to eliminate_regs.
- Call alter_subreg for subregs. Delete subreg case later on.
- Don't bother with reg_renumber--any pseudo reg is clearly
- a variable that was not allocated.
- * sdbout.c (sdbout_symbol): Call alter_subreg for subregs.
- Don't bother with reg_renumber--any pseudo reg is clearly
- a variable that was not allocated.
+2001-07-25 Andrew MacLeod <amacleod@redhat.com>
- * sequent.h (SIZE_TYPE): Defined.
- (LINK_LIBGCC_SPECIAL): Fix typo.
+ * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
-Mon Jun 29 12:04:57 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-07-25 Jan Hubicka <jh@suse.cz>
+ Richard Henderson <rth@redhat.com>
- * toplev.c (rest_of_compilation): Thread the prologue and epilogue
- code immediately after reloading is done.
- * sched.c (schedule_insns): Reposition the prologue and epilogue
- notes as needed.
- * reorg.c (dbr_schedule): Ditto.
- * rtl.h (NOTE_INSN_PROLOGUE_END, NOTE_INSN_EPILOGE_BEGIN): New notes.
- * rtl.c (note_insn_name): Record them.
- * function.c (record_insns, contains, thead_prologue_and_epilogue_insns,
- reposition_prologue_and_epilogue_notes): New functions.
- * final.c: Include insn-flags.h.
- (profile_after_prologue): New function.
- (final_start_function): Use profile_after_prologue here when we
- don't HAVE_prologue.
- (final_scan_insn): Use profile_after_prologue when we scan
- NOTE_INSN_PROLOGUE_END. (This happens when we do HAVE_prologue.)
- Perform machine specific actions when the prologue-end and
- epilogue-begin notes are scanned.
- (final_scan_insn, BARRIER): Align only when something follows.
- * Makefile.in (final.o): Depends on insn-flags.h.
-
- * m88k.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE): Define.
- (DELAY_SLOTS_FOR_EPILOGUE, ELIGIBLE_FOR_EPILOGUE_DELAY): Delete.
- * m88k.md (prologue, epilogue, profiler, locate1, locate2): New
- patterns for representing prologues and epilogues.
- * m88k.c (delay_slots_for_epilogue, eligible_for_epilogue_delay,
- ok_for_epilogue_p): Delete epilogue delay slot functions.
- (m88k_begin_prologue m88k_end_prologue m88k_expand_prologue): New
- functions replacing m88k_output_prologue.
- (m88k_begin_epilogue m88k_end_epilogue m88k_expand_epilogue): Ditto.
- (preserve_registers): Delete epilogue delay slot mechanism and
- change to output insns.
- (emit_add, emit_ldst): New functions.
-
-Sun Jun 28 23:06:04 1992 Brendan Kehoe (brendan@cs.widener.edu)
-
- * Makefile.in (bootstrap, bootstrap2, bootstrap3): In each
- passage of CC, use xgcc, not gcc.
- * dostage2, dostage3: Likewise.
-
-Sun Jun 28 09:48:18 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
-
- * c-decl.c (duplicate_decls): If have char *foo () and
- void *foo (...), make just a pedwarn. Add locals oldtype, newtype.
- * c-typeck.c (self_promoting_args_p): No longer static.
-
- * flow.c (regno_uninitialized): Return 0 for global reg var.
-
- * c-typeck.c (initializer_constant_valid_p):
- Allow CONVERT_EXPR if its operand is allowable.
- (build_c_cast): For cast to union, make a CONSTRUCTOR.
-
- * sparc.c (SPARC_STACK_ALIGN): Add default definition.
-
- * c++: Use `set "$@"' to modify arguments.
- Use a case to decide how to set $gcc.
- $quote is now empty for false and the option name for true.
- Error at end if $quote is nonempty.
- $speclang is now the -x option itself.
- Move the -v case above the -* case.
-
- * limitx.h: Add #ifndef.
- * limity.h: New file.
- * Makefile.in (install-limits-h): Append limity.h to the end.
-
- * c-typeck.c (digest_init): Don't push spellings here (for union case).
- (process_init_constructor): Fix errors for field not found.
- (build_c_cast): Fold casts to union type.
-
- * xm-vms.h (XREF_FILE_NAME): Fix typo.
-
- * i386sun.h (SIZE_TYPE): Defined.
-
- * Makefile.in (alloca.o): Delete the rm command.
- Use -Demacs explicitly in compilation command.
- (ALLOCA_FLAGS, ALLOCA_FINISH): Empty by default.
- * x-pa-hpux, x-rs6000, x-rs6k-mach, x-dpx2200, x-dpx2300:
- (ALLOCA_FLAGS, ALLOCA_FINISH): Deleted.
- * x-dpx2200, x-dpx2300 (AS): Deleted.
-
- * configure: Set broken_install for V.4.
- (i386-*-aix, ns32k-*-genix, i386-*-isc, i386-*-sco):
- (i386-*-sco3.2v4, m88k-dg-dgux): Set broken_install.
- (m88k-*-sysv): Don't use x-m88kv3.
- * x-m88kv3: File deleted.
- * x-aix386, x-dpx2200, x-dpx2300, x-genix, x-i386isc, x-i386sco:
- * x-i386v, x-i386v4, x-i860v3, x-i860v4, x-m88kdgux, x-m88kdolph:
- * x-m88kv4, x-ncr3000, x-sparcv4, x-xenix (INSTALL): Deleted.
-
-Sun Jun 28 08:44:32 1992 Michael Meissner (meissner@osf.org)
-
- * regclass.c (record_address_regs): Make the function static to
- agree with the forward declaration.
-
- * mips.h (LINK_LIBGCC_SPECIAL): Define.
-
-Sun Jun 28 06:14:56 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * expr.c (direct_load, direct_store): New variables.
- (init_expr_once): New function.
- (convert_move, convert_to_mode): Don't let gen_lowpart make a MEM in
- a mode that can't be directly copied to or from memory.
- (store_field): Don't directly store into memory in a mode that
- can't be used in a single insn.
- (expand_expr, case COMPONENT_REF): Likewise, for load.
- * toplev.c (compile_file): Call init_expr_once.
-
- * cse.c (fold_rtx, case SUBREG): If we can find nested SUBREGs
- with an inner register in the mode we want, get rid of all the
- SUBREGs provided they are all within a word.
-
- * cp-call.c, cp-class.c, cp-decl.c, cp-edsel.c, cp-lex.c: Don't
- declare xmalloc and free here.
- * cp-methods.c, cp-pt.c, cp-search.c, flow.c, integrate.c: Likewise.
- * loop.c, opjc-actions.c, reload1.c, reorg.c, rtl.c: Likewise.
- * stmt.c, tree.c, varasm.c: Likewise.
- * toplev.c (xmalloc, xrealloc): Declare return types correctly.
- * rtl.h, tree.h: Declare xmalloc and free here.
-
- * expmed.c (emit_store_flag): Keep the last target around if we
- should preserve subexpressions.
-
-Sat Jun 27 07:11:28 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
- * cse.c (cse_insn): See if we have a CONST_INT that is already in
- a register in a wider mode.
-
- * regclass.c: Major rework of regclass pass to do a better job of
- setting up register preferences and replace the "preferred or
- nothing" method with a class that should be used if the preferred
- class cannot be allocated.
- (MEMORY_MOVE_COST): Default value is 4, not 2.
- (move_cost, may_move_cost): New arrays.
- (init_reg_sets): Initialize them.
- (struct costs): Replaces struct savings.
- (costs): Replaces savings.
- (op_costs): New array.
- (altclass): Replaces preferred_or_nothing.
- (reg_alternate_class): New function; replaced reg_preferred_or_nothing.
- (regclass): Major rework. Use new recording methods; make two
- passes if -fexpensive-optimizations; and refine REGNO_POINTER_FLAG
- and loop_depth setting.
- (record_reg_class): New function; replaces reg_class_record.
- (copy_cost): New function.
- (record_address_regs): Major changes. New parameters and simplified
- and more efficient algorithm for chosing base vs. index regs.
- * rtl.h (reg_alternate_class): Declare it.
- * Makefile.in (regclass.o): Now includes reload.h and real.h.
- * flow.c (dump_flow_info): Call reg_alternate_class instead of
- reg_preferred_or_nothing.
- * reload.c (find_reloads): Likewise.
- (n_occurrences): No longer static.
- * local-alloc.c: Use register alternate class instead of
- preferred_or_nothing uniformly; change qty_preferred_or_nothing
- to qty_alternate_class.
- * global-alloc.c (global_alloc, retry_global_alloc): Call
- reg_alternate_class instead of reg_preferred_or_nothing.
- (find_reg): Change ALL_REGS_P argument to ALT_REGS_P.
- Use alternate register class instead of ALL_REGS if can't allocate
- in preferred class.
-
- * cccp.c (install): Accept separate arguments for integer and
- pointer hash values; don't assume the sizes are the same.
- All callers changed.
+ * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
+ the sequence.
+ (make_edges): New argument update_p; populate the edge cache if set.
+ (find_basic_blocks): Update make_edges invocation.
- * rtl.c (copy_rtx, copy_most_rtx): Add new case for 'u'.
+2001-07-24 Joel Sherrill <joel@OARcorp.com>
- * tree.c (make_node): Clear all of common area, in particular, flags.
+ * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
- * c-tree.h, cp-tree.h: Add declaration of truthvalue_conversion.
+2001-07-24 Joel Sherrill <joel@OARcorp.com>
-Sat Jun 27 06:21:18 1992 Tom Wood (wood@dg-rtp.dg.com)
+ * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
+ -Acpu and -Amachine.h.
+ * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
+ Corrected header to say ELF not a.out.
+ * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
+ when given -msoft-float.
- * m88k.md (type attributes): Delete unused mbit and mfp types.
- (ffsi2 insn): Define.
- (negdf2 and absdf2 insns): Improve.
+2001-07-24 Joel Sherrill <joel@OARcorp.com>
- * fold-const.c (range_test): Fix the misordered test. Fail if VAR
- isn't an integer.
+ * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
+ extra multilib parts like arm-elf.
+ (i960-*-coff*, i960-*-rtems): Should not use collect2.
+ (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
+ crtfini.o as extra multilib parts.
-Sat Jun 27 00:54:44 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-07-24 Joel Sherrill <joel@OARcorp.com>
- * gcc.c (link_command_spec): No %D if LINK_LIBGCC_SPECIAL.
- * sequent.h (LINK_LIBGCC_SPECIAL): Defined.
+ * configure.in: Add rtems as a supported thread model.
+ * gthr-rtems.h: Add missing entry point __gthread_active_p.
+ * configure: Rebuilt.
- * vax.h (PRINT_OPERAND): For SFmode, use 0f, not 0d or 0g.
+2001-07-24 Lars Brinkhoff <lars@nocrew.org>
- * ns32k.h (NS32K_DISPLACEMENT_P): Correct the range limits.
- * ns32k.c (print_operand_address): REG_OK_FOR_INDEX_P wants an rtx.
+ * stor-layout.c (get_mode_alignment): make it work when
+ BITS_PER_UNIT is not a power of two.
+ * builtins.c (get_pointer_alignment): Likewise.
-Fri Jun 26 08:55:03 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-07-24 Richard Henderson <rth@redhat.com>
- * fold-const.c (range_test): New function.
- (merge_component_references): Look for range tests as well.
+ * simplify-rtx.c (avoid_constant_pool_reference): Coerce
+ the retrieved constant into the expected mode.
- * va-m88k.h: Same changes as other va-*.h files below. Make this
- work when <stdio.h> and others are included on DG/UX.
+Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
-Fri Jun 26 08:17:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * flow.c (try_simplify_condjump): Avoid duplicated edges.
+ (verify_flow_info): Check for duplicated edges; clarify
+ error reporting.
- * expr.c (safe_from_p): Handle 0 in TREE_VALUE of a TREE_LIST.
- (store_constructor: Ignore empty links in element chain.
+ * flow.c (block_label): Update basic_block_for_insn.
+ (commit_edge_insertions): Call compute_bb_for_insn.
-Fri Jun 26 07:06:19 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * flow.c (purge_dead_edges): Handle conditional jumps and conditional
+ returns too.
- * c-convert.c (convert_to_integer): Don't add a NOP_EXPR in cases
- where we can simply change the type of the entire tree.
+ * flow.c (redirect_edge_and_branch,
+ try_optimize_cfg): Use redirect_edge_succ_nodup
+ (redirect_edge_succ_nodup): New.
+ * basic_block.h (redirect_edge_succ_nodup): Declare.
- * cse.c (find_best_addr): Look for equivalents of a REG that is
- the first operand of an address that is a binary operator whose
- second operand is a CONST_INT.
+ * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
+ after gcse.
- * stmt.c (expand_end_bindings): Don't save argument pointer if it
- will be eliminated in favor of the frame pointer.
+Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka <jh@suse.cz>
- * combine.c (try_combine): When using define_split to split an
- insn, first try to put the pseudo-register into the mode of
- the destination since it is the most likely to be the correct mode.
+ * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
+ (try_crossjump_to_edge): Update commetns.
+ (try_crossjump_bb): Likewise.
- * combine.c (make_compound_operation): Treat PLUS and MINUS
- the same when passing down the code to the next level; for
- consistency, an ASHIFT inside either gets turned into a MULT.
+2001-07-24 Richard Henderson <rth@redhat.com>
- * fold-const.c (optimize_bit_field_compare): Delete dead
- assignment which can sometimes reference an undefined variable.
+ * combine.c (distribute_notes): Move set of need_refresh
+ for noop_move_p down to catch all cases.
- * genoutput.c (gen_split): Initialize n_alternatives.
+Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
- * romp.md (movdf): Fix typo in operand_subword call in define_split.
+ * recog.c (split_all_insns_noflow): New.
+ * rtl.h (split_all_insns_noflow): Declare.
+ * ia64.c (ia64_reorg): Use split_all_insns_noflow.
+ * m68hc11.c (m68hc11_reorg): Likewise.
+ * sh.c (machine_dependent_reorg): Likewise.
+ * toplev.c (rest_of_compilation): Likewise for last split_all_insns
+ call.
-Fri Jun 26 04:38:37 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
- * Make stdarg mechanism work with libc.
- * va-hp800.h, va-i860.h, va-i960.h, va-mips.h, va-pyr.h, va-sparc.h):
- Don't define or declare va_list; declare __gnuc_va_list.
- But only declare it once.
- Define other things only if _STDARG_H or _VARARGS_H.
- Declare va_end as well as defining it.
- * gstdarg.h: Likewise.
- If __need___va_list was defined, then undef it
- and don't define _STDARG_H.
- For all machines, declare va_list from __gnuc_va_list
- but only if _STDARG_H is defined.
+ * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
+ (ashlsi3_n splitter): Likewise.
+ (lshrsi3_n splitter): Likewise.
- * gvarargs.h: Test _ANSI_H_, not _ANSI_H.
+ (GOTaddr2picreg): Make const SImode.
+ (sym_label2reg): Likewise.
+ (symGOT2reg): Likewise.
+ (symGOTOFF2reg) Likewise.
-Thu Jun 25 23:24:02 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ (casesi_worker_0): Make unspec SImode.
- * ns32k.c (print_operand):
- Change NO_IMMEDIATE_PREFIX_IF_SYMBOLIC conditional to #ifdef.
+2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
- * genoutput.c (gen_split): Set d->n_alternatives.
+ * config/sh/sh.c (barrier_align): Check that an operand really is
+ an insn before extracting its INSN_CODE.
- * Makefile.in (test-protoize-simple): Expect just 400 lines.
- (install-common-headers): When comparing srcdir with ., use pwd.
+2001-07-24 Andrew Haley <aph@cambridge.redhat.com>
-Tue Jun 16 22:11:12 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
+ * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
+ dangling else.
- * Makefile.in (enquire.o): Don't delete/copy enquire.c, just use
- the copy in the source directory.
+ * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
+ for SImode to prevent overflow.
-Tue Jun 25 23:52:27 1992 Howard Chu (hyc@hanauma.jpl.nasa.gov)
+2001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- * libgcc2.c (__builtin_saveregs): Use SVR4 code on Alliant FX2800,
- but with BSD function-naming convention.
+ * config/mips/irix6-libc-compat.c: New file.
+ * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
+ * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
+ passing workaround.
- * va-i860.h: Use SVR4 definitions of __va_saved_regs and va_list
- on Alliant FX2800.
+2001-07-24 lars brinkhoff <lars@nocrew.org>
- * fx2800.h (I860_REG_PREFIX, ASM_COMMENT_START): Deleted.
- (DBX_NO_EXTRA_TAGS, BSS_ASM_OP): Deleted.
- (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Deleted.
- (ASM_FILE_START): Just call output_file_directive.
+ * rtl.texi (REG_POINTER): Document.
+ (Machine Modes): Document BImode, OImode, PQImode, PHImode,
+ QFmode, HFmode, TQFmode, QCmode, and HCmode.
-Thu Jun 25 06:49:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka <jh@suse.cz>
- * c-typeck.c (process_init_constructor): Strip NON_LVALUE_EXPR
- from specified array index.
+ * flow.c (delete_noop_moves): Do not confuse libcall regions.
- * configure (i386-*-bsd*, i386-*-mach*): Don't set tmake_file.
- They used to use t-libc-ok.
+2001-07-23 Richard Henderson <rth@redhat.com>
- * input.h (struct file_stack): Revert prev. change.
+ * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
-Thu Jun 25 06:33:52 1992 Tom Wood (wood@dg-rtp.dg.com)
+2001-07-23 Kazu Hirata <kazu@hxi.com>
- * stmt.c (expand_end_case): Add CASE_VALUES_THRESHOLD.
- * m88k.h (CASE_VALUES_THRESHOLD): Define.
+ * config/h8300/h8300-protos.h: Add a prototype for
+ general_operand_dst_push.
+ * config/h8300/h8300.c (general_operand_dst_push): New.
+ * config/h8300/h8300.h (OK_FOR_T): New.
+ (EXTRA_CONSTRAINT): Use it.
+ * config/h8300/h8300.md (movqi_push): Remove and integrate into
+ the existing movqi pattern.
+ (movhi_push): Likewise.
-Thu Jun 25 06:13:39 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * reload.c: Fix comment typos.
- * explow.c (plus_constant, case PLUS): Remove obsolete code;
- use recursive call in case remaining operand is one we handle.
+Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka <jh@suse.cz>
-Wed Jun 24 19:15:14 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+ * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
- * combine.c (subst, case PLUS): If adding two things with no bits
- in common, convert to IOR.
+2001-07-23 H.J. Lu (hjl@gnu.org)
- * expr.c (do_jump, case BIT_AND_EXPR, COMPONENT_REF): Don't narrow
- comparison unless byte accesses are not slow and we have a
- comparison in the new mode.
+ * doc/extend.texi: Update __builtin_return_address and
+ __builtin_frame_address.
-Wed Jun 24 14:29:09 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-07-23 Richard Henderson <rth@redhat.com>
- * c-parse.y (primary): If built-in decl has not had
- an official declaration, print warning.
- * c-decl.c (builtin_function): Set C_DECL_ANTICIPATED for
- user-visible names.
- * c-tree.h (C_DECL_ANTICIPATED): New macro.
+ * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
+ before CSE.
+ * config/i386/i386.md: New setcc+movzbl peephole2.
- * fixincludes: Make some symlinks in the `multimedia' subdir.
+2001-07-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
- * i386.c: Change #error to just error.
+ * objc/Make-lang.in (objc-act.o): Depend on debug.h.
+ * objc/objc-act.c: Include debug.h.
+ (synth_module_prologue): Save and restore debug hooks too.
- * protoize.c: Normalize error message syntax.
- (process_aux_info_file): Don't delete .X file if it existed before.
- (explicity compare modtime with .c file.
+2001-07-23 lars brinkhoff <lars@nocrew.org>
-Wed Jun 24 14:10:35 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
+ and C4X_FLOAT_FORMAT.
+ (BOOL_TYPE_SIZE): Document.
- * sparc.c (sparc_frw_compute_frame_size): New function, for flat
- register window model support.
- (sparc_frw_save_restore): Likewise.
- (sparc_frw_output_function_prologue): Likewise.
- (sparc_frw_output_function_epilogue): Likewise.
- (sparc_frw_epilogue_delay_slots): Likewise.
- (sparc_frw_eligible_for_epilogue_delay): Likewise.
+Mon Jul 23 11:54:23 2001 Clinton Popetz <cpopetz@cpopetz.com>
-Tue Jun 23 22:36:12 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * unroll.c (loop_iterations): Fix miscalculation of initial
+ giv offset.
- * cccp.c (rescan): Recognize # only when reading directly from a file.
+2001-07-13 Andrew Haley <aph@redhat.com>
- * input.h (struct file_stack): Add member `fd'.
+ * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
+ * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
+ * config/sh/sh.c (sh_can_redirect_branch): New function.
+ * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
+ * reorg.c (steal_delay_list_from_target): Use
+ MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
- * regclass.c (regno_first_uid, regno_last_uid): Make elements ints.
- (reg_scan): Allocate and clear them as ints.
- * regs.h: Fix the declarations.
+Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>
- * Create driver executable with name xgcc; rename to gcc in installing.
- (xgcc): Target renamed.
- (GCC_FOR_TARGET, GCC_PASSES, start.encap, specs, gcc-cross):
- (install-common, install-collect2): Rename in deps, commands or value.
- (install-collect2): Always get driver from xgcc whether cross or not.
+ * flow.c (try_simplify_condjump): Unlink insn chain on
+ fallthru edge; use can_fallthru.
-Tue Jun 23 00:00:35 1992 Brendan Kehoe (brendan@cs.widener.edu)
+Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka <jh@suse.cz>
- * toplev.c (strip_off_ending): Also strip off .C and .cxx.
+ * basic-block.h (find_sub_basic_block): Declare.
+ * flow.c (make_edges): New arguments MIN and MAX;
+ (find_sub_basic_blocks): Revamp to use make_edges
+ and purge_dead_edges.
+ (find_basic_blocks): Update call of find_sub_basic_block.
-Tue Jun 23 18:58:43 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
+ * recog.c (split_all_insns): Always expect CFG to be consistent;
+ call find_sub_basic_blocks in case something has changed.
+ * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
+ has been built.
- * genrecog.c (add_to_sequence): Don't ignore mode of first operand
- of a MATCH_OPERAND or MATCH_DUP_OP rtl.
- * sparc.md (scc): Use noov_compare_op instead of normal_compare_op.
+ * basic-block.h (delete_noop_moves): Declare.
+ * combine.c (combine_instructions): Call it.
+ (recog_for_combine): Tolerate noop moves
+ (distribute_notes): Force refresh when register dies at noop move.
+ * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
+ too.
+ (life_analysis): Update delete_noop_moves call.
+ (set_noop_p): Move too ...
+ * rtlanal.c (noop_move_p): ... here.
+ * rtl.h (noop_move_p): Declare.
- * function.c (expand_function_start): When not optimizing, don't
- put static chain pointer in a pseudo register.
+ * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
+ * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
+ after combine.
+ * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
+ (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
- * sparc.c (print_operand): For '*', only annul branch if
- optimizing, to avoid dbx bug. Add '(' to handle unoptimized case.
- * sparc.h (PRINT_OPERAND_PUNCT_VALID_P): Add '('.
- * sparc.md (jump): Add '%(' to pattern.
+2001-07-23 Hans-Peter Nilsson <hp@bitrange.com>
- * c-decl.c (store_parm_decls): Change type of void parameter to
- error_mark_node.
+ * reload.c (push_reload): Fix typo in comment.
+ (find_reloads_address): Ditto.
+ (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
- * configure (m68k-*-sysv4*): Use xm-m68kv.h not xm-m68kv4.h.
+2001-07-22 Richard Henderson <rth@redhat.com>
- * configure: Add -prefix option.
+ * flow.c: Grammar check and clarify a lot of comments.
+ (try_simplify_condjump): Rename variables to be clearer.
+ (try_forward_edges): Skip complex and fallthru edges.
+ Rearrange tests to avoid duplicate checks.
+ (flow_find_cross_jump): Likewise.
+ (outgoing_edges_match): Allow match if neither branch has
+ probability data. Loosen probability match to 5%.
+ (try_crossjump_to_edge): Hoist repeated indirection into
+ local variables.
+ (try_crossjump_bb): Don't check complex edges. Eliminate
+ redundant crossjump tests.
+ (try_optimize_cfg): Fix use of bool. Reorganize cheaper
+ checks before more expensive checks.
- * vax.c (split_quadword_operands): Declare paramater n.
+2001-07-22 Richard Henderson <rth@redhat.com>
- * i960.h (WORD_SWITCH_TAKES_ARG): Add -aux-info.
+ * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
+ INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
+ arguments.
- * xcoffout.c (xcoffout_declare_function): Cast alloca result to char *.
+2001-07-22 Richard Henderson <rth@redhat.com>
+
+ * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
+ (const_sint32_operand): Likewise.
+ * m68k.md (anon mulsi pattern): Use const_int_operand not
+ const_sint32_operand.
+ (umulsi3_highpart): Zero extend a constant input.
+ (smulsi3_highpart): Don't bother checking SImode constant.
+ (const_umulsi3_highpart): Give op3 DImode.
+ (const_smulsi3_highpart): Likewise.
+
+2001-07-22 Richard Henderson <rth@redhat.com>
+
+ * flow.c (split_block): Make sure bb_note is included in the
+ new block when splitting before a label.
+
+Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (redirect_edge_and_branch_force,
+ redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
+ * flow.c (redirect_edge_and_branch_force,
+ redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
+ (redirect_edge_and_branch_force): Fix copying of lifeness information.
+ (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
+ * ifcvt.c (dead_or_predictable): Take BB as an new destination
+ instead of label; update CFG after transformation.
+ (find_if_case_1): Update call, use redirect_edge_and_branch_force
+ for finishing the transformation; handle even case where ELSE
+ does not follow THEN.
+ (find_if_case_2): Update call of dead_or_predictable; simplify
+ CFG update.
+
+ * emit-rtl.c (split_branch_probability): New global variable.
+ (try_split): Take care to set split_branch_probability and
+ create REG_BR_PROB note for new jump insns.
+ * md.texi (define_split): Document new feature.
+
+ * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
+
+2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
+ (asm_out_file): Remove redundant declaration.
+ (assemble_asm): Remove old #if 0 block.
+ (assemble_variable): Remove end of function; debug output is
+ now handled with global_decl. Remove old #if 0 block. Update.
+ Remove saved_in_section and associated no-op code.
+ * Makefile.in (varasm.o): Correct dependencies.
+
+Sun Jul 22 17:55:11 2001 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
+ the definition in defaults.h.
+
+Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * jump.c: Update comments.
+ (delete_barrier_successors, delete_unreferenced_labels,
+ delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
+ delete_labelref_insn, redirect_tablejump, jump_optimize_1,
+ jump_optimize, jump_optimize_minimal): Kill.
+ (rebuild_jump_labels): Move code from jump_optimize_1.
+ (purge_line_number_notes): Likewise.
+ (copy_loop_headers): Likewise.
+ * reg-stack.c: Update comment.
+ * stmt.c: Likewise.
+ * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
+ JUMP_AFTER_REGSCAN): Kill.
+ * toplev.c (rest_of_compilation): Use cleanup_cfg, call
+ purge_line_number_notes and copy_loop_headers.
+
+2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
+ Richard Henderson <rth@redhat.com>
+
+ * dbxout.c (dbxout_global_decl): New.
+ (xcoff_debug_hooks, dbx_debug_hooks): Use it.
+ * sdbout.c (sdbout_finish): New.
+ (sdbout_debug_hooks): Use it, add comments.
+ (sdbout_global_decl): Defer initialized public vars to
+ sdbout_finish.
+ * varasm.c (assemble_variable): Don't output debug information
+ for file-scope variables.
+
+2001-07-22 Richard Henderson <rth@redhat.com>
- * c-convert.c (convert_to_integer): Don't pass truncation past
- shift that is larger than the size being truncated to.
+ * config/alpha/alpha.c (get_trap_mode_suffix): New.
+ (get_round_mode_suffix): New.
+ (print_operand): Use them for [/]. Remove support for [&'`()+].
+ * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
+ * config/alpha/alpha.md (attr round_suffix): New.
+ (attr trap_suffix): New.
+ (all insns): Set them appropriately. Use %/ instead of the
+ myriad punctuators.
+
+2001-07-22 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
+
+2001-07-22 Richard Henderson <rth@redhat.com>
-Tue Jun 23 06:15:47 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
+ * regrename.c (regrename_optimize): Compute nregs for each
+ potential target register.
- * optabs.c (expand_binop, expand_unop): Try widening before trying
- to make a library call.
+2001-07-21 Neil Booth <neil@daikokuya.demon.co.uk>
+ Richard Henderson <rth@redhat.com>
- * stmt.c (expand_return): Add missing emit_queue call in tail
- recursion case.
+ * dbxout.c (dbxout_global_decl): New.
+ (xcoff_debug_hooks, dbx_debug_hooks): Use it.
+ * sdbout.c (sdbout_finish): New.
+ (sdbout_debug_hooks): Use it, add comments.
+ (sdbout_global_decl): Defer initialized public vars to
+ sdbout_finish.
+ * varasm.c (assemble_variable): Don't output debug information
+ for file-scope variables.
- * cse.c (simplify_unary_operation): Add SIGN_EXTEND and
- ZERO_EXTEND to the operations we handle for wide results.
+2001-07-21 H.J. Lu (hjl@gnu.org)
- * expr.c (emit_block_move): Convert size operand to mode that will
- be passed to emit_library_call.
+ * config/mips/mips.c (mips_cpu): Moved into ...
+ (override_options): Here.
-Tue Jun 23 00:41:03 1992 Paul Eggert (eggert@shadow)
+ * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
+ mips_tune.
+ (mips_cpu): Removed.
- * objc-parse.y (stmt): Fix mispelling for "label" in message.
+2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
- * cccp.c: (deps_file, pipe_closed): Deleted.
- (main): Do not open deps_file until needed.
- Check error status of dep_stream and stdout more carefully.
+ * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
+ ("iorqi3"): Likewise.
+ ("xorqi3"): Likewise.
+ ("*addhi3"): Fix constraint to avoid reloading in a soft register.
+ ("*subhi3_sp): Likewise.
+ ("*subhi3"): Likewise.
+ ("extendhisi2"): Accept D, X and Y as source operand to avoid
+ reload problems.
-Tue Jun 23 00:21:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-07-21 Nathan Sidwell <nathan@codesourcery.com>
- * Makefile.in (protoize.1, unprotoize.1): Rules deleted.
- (install-man, proto, realclean): Don't operate on them.
- * proto-man: File deleted.
+ * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
+ * config/freebsd.h: Likewise.
+ * config/linux.h: Likewise.
+ * config/openbsd.h: Likewise.
+ * config/alpha/linux-elf.h: Likewise.
+ * config/arm/linux-elf.h: Likewise.
+ * config/d30v/d30v.h: Likewise.
+ * config/fr30/fr30.h: Likewise.
+ * config/ia64/aix.h: Likewise.
+ * config/ia64/ia64.h: Likewise.
+ * config/mips/linux.h: Likewise.
+ * config/pj/pj.h: Likewise.
+ * config/rs6000/linux.h: Likewise.
+ * config/sparc/linux.h: Likewise.
+ * config/sparc/linux64.h: Likewise.
- * protoize.c (main): Support -v as alias for -V.
+2001-07-20 Bruce Korb <bkorb@gnu.org>
-Mon Jun 22 21:50:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+ * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
+ because getc() and char* may disagree on signedness.
- * Makefile.in (compare, compare3): Discard error output from second
- tail. If it fails, don't compare that file.
+2001-07-20 Richard Henderson <rth@redhat.com>
- * Makefile.in (stamp-proto): Move the touch command last.
+ * doc/rtl.texi (REG_DEAD): Update for current semantics.
- * cccp.c (finclude): Use xmalloc, not alloca, for file contents.
+ * flow.c (try_redirect_by_replacing_jump): Correctly compute which
+ insns to delete in the presence of cc0 in a jump insn.
- * stmt.c (check_for_full_enumeration_handling): For a case range,
- consider all values in the range as handled. Also, check both ends
- for being in the enumeration.
+Fri Jul 20 22:14:49 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
+ Jan Hubicka <jh@suse.cz>
- * ns32k.h (NS32K_DISPLACEMENT_P): Wide displacement range applies to
- all models.
+ * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
+ of doing the change by hand.
-Mon Jun 22 20:29:47 1992 Ron Guilmette (rfg at ncd.com)
+Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka <jh@suse.cz>
- * expr.h (*_libfunc): Added missing extern declarations of libfuncs
- to handle operations on/for TFmode and XFmode operands.
- * expr.c (convert_move): Added missing code to handle moves (with
- conversion) from/to TFmode and XFmode operands.
- * optabs.c (*_libfuncs): Added missing definitions of libfuncs
- to handle operations on/for TFmode and XFmode operands.
- (emit_float_lib_cmp): Added missing code to handle XFmode and TFmode
- comparisons.
- (init_fixtab): Added missing code to handle fixing (and trunc'ing)
- of XFmode and TFmode operands to various sizes of ints.
- (init_floattab): Likewise, but for "float" operations from ints to
- either XFmode or TFmode.
- (expand_float): Likewise.
- (expand_fix): Likewise.
- (init_libfuncs, init_integral_libfuncs, init_floating_libfuncs): New
- functions added to initialize whole hunks of various optabs with
- appropriate `libfunc' field values.
- (init_optabs): Use `init_integral_libfuncs' or `init_floating_libfuncs'
- wherever a group of consecutive optab entries need to all have their
- `libfunc' fields initialized.
- (init_optabs): added missing code to handle all operations on/of
- XFmode and TFmode operands.
+ * rtlanal.c (set_noop_p): Return true for noop jumps.
-Mon Jun 22 06:40:32 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
+ * expr.c (emit_single_push_insn): Add call to push expander.
+ * expr.h (optab_index): Add OTI_push
+ (push_optab): New constant.
+ * genopinit.c (optabs): Add push_optab.
+ * optabs.c (init_optab): Init push optab.
+ * md.texi (push??1): Document
- * rs6000.h (MEMORY_MOVE_COST): Increase to 6, from 4.
- (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add new reg
- classes SPEC_OR_GEN_REGS and NON_FLOAT_REGS.
+2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
- * rs6000.h (EXTRA_CONSTRAINT): Don't use indirect_operand; instead
- check explicitly.
+ * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
+ expand to emit the pattern; put a REG_INC note for push/pop
+ instructions.
+ ("movdf", "movdf_internal"): Likewise.
+ ("movsi", "movsi_internal"): Likewise.
+ ("movsf", "movsf_internal"): Likewise.
+ ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
- * rs6000.md (divmod): Use "2" constraint instead of using "q"
- twice.
- (tablejump): Constraint of "r" should be "l".
+2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
- * emit-rtl.c (init_emit): Show that all pointers into the frame are
- pointer registers.
+ * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
+ gen_highpart.
-Mon Jun 22 04:20:26 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-07-20 Daniel Berlin <dan@cgsoftware.com>
- * va-sparc.h (va_arg): Rename local identifiers to start with __.
+ * params.def: Change default max inline insns to 100.
-Sun Jun 21 14:51:42 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+2001-07-20 Diego Novillo <dnovillo@redhat.com>
- * fold-const.c (real_value_truncate): New function.
- All calls to REAL_VALUE_TRUNCATE changed to use this function.
+ * combine.c (combine_simplify_rtx): Generate a new shift operation
+ when simplifying the first operand of a (neg (ashift)) expression.
- * reload1.c (reload): Record which insn attains each maximum need.
- If can't find a spill, call spill_failure and return 1.
- (spill_failure): New subroutine.
- * global-alloc.c (global_alloc): Return 1 if reload returned 1.
- * toplev.c (rest_of_compilation): If they return nonzero, give up
- compiling this function.
+2001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
- * c-decl.c (duplicate_decls): Never warn if redeclaring
- a predeclared function. Use the new declaration's types
- but keep any predeclared volatile flag.
- If redeclaring builtin function, use new declaration's type.
- If an old decl becomes volatile, fix the DECL_RTL.
- * varasm.c (make_var_volatile): New function.
+ * regclass.c (N_REG_INTS): Use only 32 bits per element.
- * configure (mips-sony-bsd): Use xm-mips.h.
- * xm-mipsbsdn.h: File deleted.
+2001-07-20 Kelley Cook <kelley.cook@home.com>
- * protoize.c (process_aux_info_file): Simplify logic for calling
- gen_aux_info_file. Get rid of the label `retry'.
+ * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
+ information. Move rest into ...
+ (*-*-solaris): ... here. Eliminate redundant information and
+ reword necessary packages section. Delete 4.x assembler bug info.
+ (sparc-sun-*): Merge into ...
+ (sparc-sun-sunos*): here.
- * m68ksgs.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
- Override for sgs syntax.
+2001-07-20 Catherine Moore <clm@redhat.com>
+
+ * config/v850/v850.md (casesi): Generate LABEL_REF
+ with Pmode.
+
+Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
+ * i386.c (ix86_zero_extend_to_Pmode): Make global.
+ * i386.md (strclrsi expander): Use it.
+
+Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * integrate.c (copy_insn_list): handle
+ NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
+ (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
+ identically as to CODE_LABEL.
-Sun Jun 21 14:06:41 1992 Brendan Kehoe (brendan@cs.widener.edu)
+ * fold-const (fold): Convert A/B/C to A/(B*C) and
+ A/(B/C) to (A/B)*C
+
+ * except.c (connect_post_landing_pads): Delete the RESX insns.
- * va-sparc.h (va_arg): Use a character array of size TYPE for
- `d' in the union, and return its dereference as TYPE.
+2001-07-20 Aldy Hernandez <aldyh@redhat.com>
-Sun Jun 21 14:04:36 1992 Wilson Tien (wtien at urbana.mcd.mot.com)
+ * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
- * m68k.c (print_operand_address) [MOTOROLA]: Use .w and .l, not :w, :l.
+ * config/mips/mips.md (nmadd/nmsub): Use macro.
-Sat Jun 20 06:32:11 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
+2001-07-20 Nathan Sidwell <nathan@codesourcery.com>
- * stor-layout.c (get_best_mode): If SLOW_BYTE_ACCESS is true, return
- widest mode (but no wider than UNITS_PER_WORD) that meets all
- the conditions.
+ * cppinit.c (remove_dup_dir): Make static.
+ (remove_dup_dirs): Make static. Only warn about preempting a
+ system directory with a non-system directory.
- * combine.c (make_extraction): Always ensure we have a SUBREG when
- we make a STRICT_LOW_PART.
+2001-07-19 Geoffrey Keating <geoffk@redhat.com>
- * varasm.c (const_hash, compare_constant_1, record_constant_1):
- Handle case when TREE_VALUE of a constructor is zero.
- (output_constant): Use CONSTRUCTOR_ELTS.
+ * ifcvt.c (noce_try_store_flag_constants): Correct order
+ of parameters to trunc_int_for_mode.
- * cse.c (cse_insn): Memory is not invalidated by a constant
- subroutine call.
- (delete_dead_from_cse): Correctly check for being within a
- libcall block.
+2001-07-19 Mark Mitchell <mark@codesourcery.com>
- * cse.c (canon_reg): Call validate_change with IN_GROUP equal to 1.
- (cse_insn): Call apply_change_group after canon_reg.
- When canonicalizing, call validate_change with IN_GROUP equal to
- one and also call when canon_reg would.
+ * reorg.c (fill_simple_delay_slots): If an instruction might throw
+ an exception that will be caught within this function, do not fill
+ its delay slot with any subsequent instruction.
- * combine.c (subst, shift cases): Use force_to_mode in
- SHIFT_COUNT_TRUNCATED case.
+2001-07-19 Steve Ellcey <sje@cup.hp.com>
- * rs6000.md: Add new pattern to split move of large constant.
+ * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
+ * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
+ pointer extension instruction.
+ * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
+ * simplify-rtx.c (simplify_unary_operation) Likewise.
+ * explow.c (convert_memory_address) Check value of
+ POINTERS_EXTEND_UNSIGNED to avoid some conversions when
+ less than zero.
+ * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
+ MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
+ * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
+ Add Multilib Support.
+ (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
+ * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
+ Add Multilib Support.
+ (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
+ support.
+ * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
+ * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
+ a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
+
+2001-07-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
+ old and new operands in `<', `3' and `b'.
+
+2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
+ (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
+ (toplev.o): Don't depend on xcoffout.h.
+ * c-decl.c: Include debug.h
+ (duplicate_decls): Use debug hook.
+ * dbxout.c (dbxout_source_file, dbxout_args): Make static.
+ (dbx_debug_hooks, xcoff_debug_hooks): Update.
+ (dbxout_types): Remove.
+ * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
+ * debug.c (do_nothing_debug_hooks): Update.
+ (debug_true_tree, debug_nothing_rtx): New.
+ * debug.h (struct rtx_def): New.
+ (struct gcc_debug_hooks): New hooks ignore_block,
+ outlining_inline_function and label.
+ (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
+ dwarf2out_frame_finish): New.
+ * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
+ Make static, update prototype.
+ (dwarf2_debug_hooks): Update.
+ * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
+ dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
+ * dwarfout.c (dwarf_debug_hooks): Update.
+ * emit-rtl.c: Include debug.h.
+ (remove_unnecessary_notes): Use debug hook.
+ * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
+ (final_scan_insn): Use debug hook.
+ * integrate.c (output_inline_function): Use debug hook.
+ * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
+ (sdb_debug_hooks): Update.
+ * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
+ * toplev.c: Don't include xcoffout.h.
+ (note_outlining_of_inline_function, debug_ignore_block): Remove.
+ * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
+ Remove.
+ * tree.h (dwarf2out_do_frame): Remove.
+
+2001-07-19 Catherine Moore <clm@cygnus.com>
+
+ * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
+
+2001-07-19 Geoffrey Keating <geoffk@redhat.com>
+
+ * reload1.c (eliminate_regs_in_insn): When updating a set
+ to the frame pointer to the hardware frame pointer, perform
+ the update always not just when REPLACE is set.
+
+ * reload1.c (choose_reload_regs): Don't inherit a reload
+ that crosses multiple registers if registers past the first
+ don't fit in the desired class.
+
+ * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
+ when negating constants.
+
+2001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
+ * doc/tree.texi: Ditto.
+
+2001-07-19 Mark Kettenis <kettenis@wins.uva.nl>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
+ (extract_cie_info): Handle "eh" augmentation properly,
+ remember eh_ptr.
+ (struct frame_state, __frame_state_for): New.
+
+2001-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
+ HANDLE_SYSV_PRAGMA): Define.
+ * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
+ previous args.
+ (copy_object): Caller changed.
+
+2001-07-19 Andreas Schwab <schwab@suse.de>
+
+ * configure.in (assembler dwarf2 debug_line support): Define nop
+ insn for m68k.
+ * configure: Regenerated.
+
+2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
+ dwarfout.h.
+ * dbxout.c (dbxout_function): Rename dbxout_function_decl, move
+ to conditionally compiled block.
+ (dbx_debug_hooks, xcoff_debug_hooks): Update.
+ * dbxout.h (dbxout_function): Remove.
+ * debug.c (do_nothing_debug_hooks): Update.
+ * debug.h (struct gcc_debug_hooks): New hooks function_decl,
+ global_decl, deferred_inline_function.
+ * dwarf2out.c (dwarf2_debug_hooks): Update.
+ (dwarf2out_global_decl): New.
+ * dwarfout.c: Don't include dwarfout.h.
+ (dwarfout_global_decl, dwarfout_function_decl,
+ dwarfout_deferred_inline_function): New.
+ (dwarf_debug_hooks): Update.
+ * dwarfout.h: Remove.
+ * final.c: Don't include dwarfout.h.
+ * sdbout.c (sdbout_global_decl): New.
+ (sdbout_debug_hooks): Update.
+ * toplev.c: Don't include dwarfout.h.
+ (check_global_declarations, rest_of_compilation): Use new debug hooks.
+ (note_deferral_of_defined_inline_function): Remove.
+ * toplev.h (note_deferral_of_defined_inline_function): Remove.
+ * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
+ * ch/lex.c: Don't include dwarfout.h.
+ * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
+ (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
+ * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
+ * cp/optimize.c: Include debug.h.
+ (maybe_clone_body): Use debug hook.
+ * cp/semantics.c: Include debug.h.
+ (expand_body): Use debug hook.
+ * po/POTFILES.in: Remove dwarfout.h.
+
+2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
+ * c-parse.in (yyerror, _yylex): Similarly.
+ * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
+ Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
+ Update comments.
+ * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
+ * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
+
+2001-07-18 Jeff Sturm <jsturm@one-point.com>
+
+ * dwarf2out.c (dwarf2out_abstract_function): Don't emit
+ in-class declaration at -g1. Fixes c++/2814.
+
+2001-07-18 Richard Henderson <rth@redhat.com>
+
+ * doc/md.texi (reload_in/out): Document restrictions in predicates
+ and constraints for these patterns. Document empty string matching
+ ALL_REGS.
+
+2001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
+
+Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * cse.c: Undo my previous patch.
+
+2001-07-18 Tom Tromey <tromey@redhat.com>
+
+ For PR java/2812:
+ * configure: Rebuilt.
+ * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
+ instead.
+ * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
+
+Wed Jul 18 18:46:30 CEST 2001 Richard Henderson <rth@cygnus.com>
+ Jan Hubicka <jh@suse.cz>
+
+ * flow.c (redirect_edge_and_branch): Bail out on complex edges.
+ (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
+ * jump.c (mark_jump_label): Do not forward branches.
+
+Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * cse.c (delete_trivially_dead_insns): Delete the libcall block
+ when return value is unused.
+
+Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
+
+Wed Jul 18 12:05:29 2001 Nicola Pero <n.pero@mi.flashnet.it>
+
+ * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
+ on error. We can't blindly return the result of
+ pthread_mutex_trylock because it returns a positive number on
+ error, while we must return -1 on error.
+ (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
+ fixes.
+ Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
+
+2001-07-18 Andreas Jaeger <aj@suse.de>
+
+ * integrate.c (output_inline_function): Correct type of debug_hooks.
+
+2001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * combine.c (combine_simplify_rtx): DIV can be treated
+ associatively for floats if unsafe math optimisations are enabled.
+
+2001-07-17 Richard Henderson <rth@redhat.com>
+
+ * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
+
+2001-07-17 Richard Henderson <rth@redhat.com>
+
+ * calls.c (prepare_call_address): New parameter SIBCALLP. If true,
+ don't force the function address into a register.
+ (expand_call, emit_library_call_value_1): Update callers.
+ * builtins.c (expand_builtin_apply): Likewise.
+ * expr.h (prepare_call_address): Update decl.
+
+2001-07-17 Chandrakala Chavva <cchavva@redhat.com>
+
+ * config.gcc: For *-*-chorusos triplet, get chorus.h file from
+ config directory.
+ * config/i386/chorus.h: Move up.
+ * config/sparc/chorus.h: Likewise.
+ * config/rs6000/chorus.h: Likewise.
+ * config/chorus.h: Moved here.
+
+2001-07-17 Andreas Schwab <schwab@suse.de>
+
+ * configure.in (assembler eh_frame optimization): Handle big
+ endian.
+ * configure: Regenerated.
+
+Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * expr.c (epxand_expr): Convert divisions into multiplications by
+ reciprocals if -ffast-math.
+
+2001-07-17 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * dbxout.c (dbxout_really_begin_function): Rename to
+ dbxout_begin_function.
+ (dbx_debug_hooks, xcoff_debug_hooks): Update.
+ (dbxout_begin_function): Remove.
+ (dbxout_function): Update.
+ (dbxout_source_line): Update prototype.
+ * dbxout.h (dbxout_begin_function): Remove.
+ * debug.c (do_nothing_debug_hooks): Update.
+ (debug_nothing_tree): Update.
+ (debug_nothing_charstar_rtx): Remove.
+ * debug.h (union tree_node): Declare.
+ (struct rtx_def): Remove.
+ (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
+ begin_function. Change source_line prototype.
+ (debug_nothing_tree): New.
+ (debug_nothing_charstar_rtx): Delete.
+ (dwarf2out_begin_prologue): Moved from ...
+ * tree.h: ... here.
+ * dwarf2out.c (dwarf2_debug_hooks): Update.
+ (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
+ debug info, call dwarf2out_source_line.
+ (dwarf2out_souce_line): Update prototype.
+ * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
+ Change prototype, make static.
+ (dwarfout_source_line): Update prototype.
+ (dwarf_debug_hooks): Update.
+ * dwarfout.h (dwarfout_begin_function): Remove.
+ * final.c (final_start_function, final_scan_insn): Use appropriate
+ debug hooks, update to use notice_source_line.
+ (output_source_line): Rename notice_source_line. Don't call the
+ source_line debug hook.
+ * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
+ make static, update prototype.
+ (sdbout_mark_begin_function): Rename sdbout_begin_function, update
+ prototype.
+ (sdbout_end_prologue): New.
+ (sdbout_source_line): Update prototype.
+ (sdbout_debug_hooks): Update.
+ (sdbout_symbol): Remove unused var.
+ * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
+ Delete.
+ * varasm.c: Include debug.h.
+ (assemble_start_function): Use begin_function debug_hook.
+ * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
+ update with prototype.
+ (xcoffout_source_line): Update prototype.
+ * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
+ update prototype.
+ (xcoffout_source_line): Update prototype.
+
+2001-07-17 Richard Henderson <rth@redhat.com>
+
+ * c-typeck.c (build_binary_op): Do not shorten unsigned
+ right shift after sign extension.
+
+Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * combine.c (combine_simplify_rtx): Attempt to simplify
+ a*(b/c) as (a*b)/c for floats in unsafe_math mode.
+
+ * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
+ (simplify_binary_operation, simplify_unary_operation,
+ simplify_relational_operation): Use it.
+
+ * combine.c (combine_simplify_rtx): Don't do associative law
+ on divisions; allow associative law on floats.
+
+2001-07-17 H.J. Lu <hjl@gnu.org>
+ Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
+ ASM_OUTPUT_WEAK_ALIAS are defined.
+ * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
+ * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
+ Moved ...
+ * config/mips/iris5.h: ... here.
+ (HANDLE_SYSV_PRAGMA): Defined as 1.
+ * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
+ * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
+ symbol.
+
+2001-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-parse.in (all_prefix_attributes): New variable.
+ (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
+ (maybe_resetattrs): New production.
+ (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
+ maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
+ notype_initdcl, nested_function, notype_nested_function,
+ component_decl, components, components_notype,
+ component_declarator, component_notype_declarator,
+ absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
+ ivars, mydecl, myparm): Update. Avoid prefix attributes just
+ after a comma being applied to more than one declarator.
+ * doc/extend.texi (Attribute Syntax): Update. Remove
+ documentation of bugs that are no longer present.
+
+2001-07-13 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.h: Change TUNE_MIPS* options to use
+ mips_tune.
+ (EXTRA_SPECS): Add cc1_cpu_spec.
+ * config/mips/mips.md (muldf3): Fix typo.
+
+2001-07-16 Richard Henderson <rth@redhat.com>
+
+ * config/m68k/m68k.c: Include expr.h and reload.h.
+ (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
+ [general int]: Use HOST_WIDE_INT_PRINT_DEC.
+
+2001-07-16 Daniel Berlin <dan@cgsoftware.com>
+ Richard Henderson <rth@redhat.com>
+
+ * cse.c (set_live_p): Take INSN argument for cc0; update callers.
+ (insn_live_p): Fix fall off end of function.
+ (dead_libcall_p): Remove COUNTS argument; update callers.
+ (delete_trivially_dead_insns): Remove unused variables.
+
+2001-07-17 Andreas Jaeger <aj@suse.de>
+
+ * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
+ x86-64 pic support.
+
+ * lcm.c (optimize_mode_switching): Avoid warning for unused
+ variable if !NORMAL_MODE.
+
+ * flow.c (try_crossjump_to_edge): Remove unused variable.
+
+2001-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
+ atexit declaration in stdlib.h.
+
+2001-07-16 Richard Begg <Richard.Begg@colesmyer.com.au>
+
+ * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
+
+Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
+ * except.c (finish_eh_generation): Update call of cleanup_cfg;
+ do rebuild_jump_labels instead of jump_optimize
+ * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
+ * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
+ * flow.c (try_optimize_cfg): Remove unneeded code_labels.
+
+ * flow.c: Include timevar.h
+ (find_basic_block): Push/pop timevar;
+ (cleanup_cfg): Likewise.
+ * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
+ * Makefile: Add dependencies on timevar.h
- * cse.c (delete_dead_from_cse): Really delete insn instead of
- turning it into a NOTE.
+ * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
+ (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
- * romp.md (shift patterns): Use QImode for count operand.
+ * rtl.h (delete_trivially_dead_insns): Add new parameter.
+ * toplev.c (rest_of_compilation): Update calls.
+ * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
+ (delete_trivially_dead_insns): ... here; accept new argument
+ preserve_basic_blocks; preserve basic blocks if set.
+
+ * reg-stack.c (stack_regs_mentioned): Return 0 if
+ stack_regs_mentioned_data is not initialized.
+ (reg_to_stack): Make stack_regs_mentioned survive after the
+ reg-stack is completted; do not call cleanup_cfg.
+ * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
+ make cleanup_cfg after bb-reorder to output to debug file.
+
+2001-07-16 Richard Henderson <rth@redhat.com>
+
+ * regclass.c (init_reg_sets): Use only 32 bits per initializer
+ from int_reg_class_contents.
+
+2001-07-16 Richard Henderson <rth@redhat.com>
+
+ * hard-reg-set.h (regs_invalidated_by_call): Declare.
+ * regclass.c (regs_invalidated_by_call): Move from cse.c.
+ (init_reg_sets_1): Move initialization from cse_main.
+ * cse.c (regs_invalidated_by_call): Move to regclass.c.
+ (cse_main): Move its initialization also.
+ * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
+ * flow.c (propagate_one_insn): Likewise.
+ * gcse.c (compute_hash_table): Likewise.
+ (compute_kill_rd, compute_store_table): Likewise.
+ * sched-deps.c (sched_analyze_1): Likewise.
-Sat Jun 20 06:31:21 1992 Tom Wood (wood@dg-rtp.dg.com)
+Mon Jul 16 18:07:07 2001 J"orn Rennecke <amylaar@redhat.com>
- * a29k.md (storehinhww): Use inhw not inbyte.
+ * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
+ gen_rtx_SET.
-Thu Jun 18 16:01:56 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
+2001-07-16 Steve Ellcey <sje@cup.hp.com>
- * protoize.c (WIFEXITED, WEXITSTATUS): Delete unused macros.
+ * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
+ in if statement so we don't access undefined memory.
- * combine.c (subst): If comparison operator has floating-point
- result, adjust the value returned by simplify_relational_operation
- accordingly.
- * integrate.c (subst_constants): Likewise.
- * loop.c (get_condition): Likewise.
- * cse.c (fold_rtx): Likewise.
- When returning TRUE or FALSE, handle comparisons returning
- floating-point.
- (find_comparison_args): Handle comparisons returning FP values;
- only look at STORE_FLAG_VALUE for comparisons returning integers.
+2001-07-16 Daniel Berlin <dan@cgsoftware.com>
- * combine.c (try_combine, subst): Pass both comparison arguments
- to SELECT_CC_MODE.
- * i386.h, i960.h, i960.c, mips.h, pa.h, pa.c, rs6000.h:
- Add second argument to SELECT_CC_MODE.
- * sparc.h, sparc.c: Likewise.
+ * gcse.c: Update comment at top.
+ Update comment on mem handling.
+ mem_last_set, mem_first_set, mem_set_in_block: gone.
+ Declaration of reg_set_info: gone.
+ (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
+ pointless with load_killed_in_block_p (they are *more*
+ conservative then it, not less, and less accurate).
+ (oprs_not_set_p): Ditto.
+ (alloc_gcse_mem): Don't allocate mem_set_in_block
+ (free_gcse_mem): Don't free it, either.
+ (record_last_mem_set_info): Update comment in front, remove
+ mem_*set_* stuff. Note the reason we don't handle stores directly
+ here.
+ (compute_hash_table): Update comments to reflect reality. Remove
+ mem_*set_* references.
+ (reset_opr_set_tables): Remove mem_*set_* references.
+ (mark_call): Ditto.
+ (mark_set): Ditto. Also remove double sets of bitmaps for REG's.
+ (mark_clobber): Ditto (on both parts, we double set here too).
+ (expr_killed_p): Remove mem_set_in_block test.
+ (compute_transp): Remove mem_set_in_block test.
- * cse.c (insert_regs): Make a quantity for the register in a
- SUBREG if it doesn't have one.
- (fold_rtx, case SUBREG): Always try to find a constant equivalent
- for a SUBREG; try for CONST_DOUBLE as well.
- (cse_insn): Call insert_regs on DEST if it is a SUBREG.
+ * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
+ of edge, and removal of phi alternative to dump file.
+ (ssa_ccp_substitute_constants): Add note about register now being
+ constant, and which uses were replaced in what insns to dump file.
+
+2001-07-16 Andreas Jaeger <aj@suse.de>
+
+ * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
+ variables of type HOST_WIDEST_INT.
+
+ * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
+ (__bb_exit_func): Correct type of count_max to avoid overflow.
+ (num_digits): Handle long long argument.
+
+ * combine.c (gen_lowpart_for_combine): Remove unused variable.
+
+2001-07-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ * output.h (sdb_begin_function_line): Restore as an extern
+ variable.
+ * sdbout.c (sdb_begin_function_line): Make extern.
+
+2001-07-15 Richard Henderson <rth@redhat.com>
+
+ * machmode.def (Pmode): Redefine if GENERATOR_FILE.
+ * genrecog.c (maybe_both_true_mode): New.
+ (maybe_both_true_2): Use it.
+ (write_switch): Don't put Pmode in a switch.
+ * rtl.c (mode arrays): Don't explicitly size them.
+
+Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (rest_of_compilation): Fix register_life_up_to_date
+ handling; move unconditional splitting before mode switching.
+
+ * i386.md (type): Add fistp type.
+ (i387, length_attr, scheduling definitions): Handle this type.
+ (fix_trunc?f?i2): Revamp to use mode switching.
+ (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
+ * i386.h (fp_cw_mode): New enum
+ (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
+ MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
+
+Sun Jul 15 12:53:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * Makefile.in (integrate.o): Add debug.h.
+ * integrate.c (debug.h): Add.
+ (output_inline_function): Save, reset, and restore debug_hooks.
+
+2001-07-15 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
+ instead of COMPARE for the EQUIV expression.
+
+2001-07-15 Richard Henderson <rth@redhat.com>
+
+ * flow.c (redirect_edge_and_branch_force): Initialize
+ global_live_at_start and global_live_at_end.
+ (allocate_bb_life_data): Export.
+ * basic-block.h (allocate_bb_life_data): Declare.
+ * toplev.c (rest_of_compilation): Call it.
+
+2001-07-15 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
+ (alpha_tablejump_best_label): New.
+ * config/alpha/alpha-protos.h: Declare them.
+ * config/alpha/alpha.md: Use braced strings for code blocks.
+ (tablejump_osf): Break out add with r29.
+ (tablejump_osf_internal): Remove.
+ (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
+ use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
+
+Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
+ of the movable.
+
+ * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
+
+ * i386-protos.h (ix86_split_fp_branch): Update prototype.
+ (ix86_fp_jump_nontrivial_p): New.
+ * i386.md (fp_jcc_?): Update call of split_fp_branch;
+ use ix86_fp_jump_nontrivial_p.
+ * i386.c (ix86_fp_jump_nontrivial_p): New.
+ (ix86_split_fp_branch): Accept code instead of rtx.
+ (ix86_expand_compare): Expand comparison early in case
+ doing so is resonably cheap.
+
+2001-07-15 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
+ not 'machine'.
+ (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
+ (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
+
+2001-07-15 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * dbxout.c (dbxout_source_line): Make static, update prototype.
+ (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
+ (dbxout_init, dbxout_finish, dbxout_source_line,
+ dbxout_begin_block, dbxout_end_block): Update for new prototypes.
+ * dbxout.h (dbxout_source_line): Delete.
+ * debug.c (debug_nothing_file, debug_nothing_file_int,
+ debug_nothing_file_charstar_rtx): New.
+ (do_nothing_debug_hooks): Update.
+ (debug_nothing_void, debug_nothing_charstar_rtx,
+ dwarf2out_end_epilogue): New.
+ (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
+ * debug.h (struct rtx_def): Declare.
+ (gcc_debug_hooks): New hooks source_line, end_epilogue
+ and end_function.
+ (debug_nothing_void, debug_nothing_charstar_rtx,
+ dwarf2out_end_epilogue): New.
+ (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
+ * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
+ (dwarf2_debug_hooks): Update.
+ (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
+ dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
+ * dwarf2out.h (dwarf2out_source_line): Remove.
+ * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
+ Make static, update prototype.
+ (dwarfout_init, dwarfout_finish, dwarfout_source_line,
+ dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
+ (dwarf_debug_hooks): Update.
+ * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
+ dwarfout_end_function): Remove.
+ * final.c (profile_function): Use debug hooks for ending functions
+ and epilogues.
+ (output_source_line, final_end_function): Update prototype,
+ use debug hooks.
+ (final_start_function, final_scan_insn): Update.
+ * output.h (sdb_begin_function_line): Remove.
+ (final_end_function): Update prototype.
+ * sdbout.c (sdb_begin_function_line): Make static.
+ (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
+ (sdbout_source_line): New.
+ (sdbout_end_epilogue, sdbout_end_function): Make static, update
+ prototypes.
+ (sdb_debug_hooks): Update.
+ (sdbout_init, sdbout_source_line,
+ sdbout_begin_block, sdbout_end_block): Update for new prototypes.
+ * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
+ * toplev.c (compile_file, rest_of_compilation): Update.
+ * tree.h (dwarf2out_end_epilogue): Move to debug.h.
+ * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
+ xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
+ Update for prototype changes.
+ * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
+ xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
+
+2001-07-15 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.h (TARGET_ABI_OSF): New.
+ (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
+ * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
+ * config/alpha/alpha.c: Likewise.
+ * config/alpha/alpha.md: Likewise.
+ * config/alpha/alpha32.h: Likewise.
+ * config/alpha/vms.h: Likewise.
+ (OPEN_VMS): Remove.
+
+2001-07-14 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md: Use define_constants for unspec values.
+ Substitute throughout.
+
+2001-07-14 Tim Josling <tej@melbpc.org.au>
+
+ * tree.def (EXPON_EXPR) remove. Never supported anyway.
+
+2001-07-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.md: Remove unused constraints from define_split's.
+
+2001-04-14 Richard Henderson <rth@redhat.com>
+
+ * ifcvt.c (find_cond_trap): Test for exit block.
+
+Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ Re-install recently reverted patch.
+ * emit-rtl.c (try_split): Update mark_jump_label call.
+ * flow.c (find_sub_basic_blocks): Likewise.
+ * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
+ jump_back_p): Kill.
+ (mark_all_labels): Kill second parameter.
+ (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
+ (rebuild_jump_labels, jump_optimize_minimal): Update call
+ of jump_optimize_1.
+ (jump_optimize_1): Kill crossjumping code.
+ (mark_jump_label): Kill cross_jump parameter.
+ * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
+ (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
+ * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
+ splitting.
+ * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
+ DFI_bpro.
+ (dump_file_info): Likewise.
+ (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
+ reorganize passes to do reg-stack first, bb-reorder second.
+ * invoke.texi (-d letters doc): Remove the jump2 pass.
+
+2001-07-14 Richard Henderson <rth@redhat.com>
+
+ * ifcvt.c (find_cond_trap): New.
+ (find_if_header): Call it.
+ (merge_if_block): Relax existing jump sanity check.
+ * jump.c (jump_optimize_1): Remove conditional trap handling.
+
+2001-07-14 Alan Modra <amodra@bigpond.net.au>
+
+ * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
+ millicode.
+ (insn_refs_are_delayed): Correct comment.
+ * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
+ * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
+ instead of r31. Make associated insn !TARGET_64BIT, and
+ provide an additional 64-bit insn that clobbers r2.
+ (divsi3): Likewise.
+ (udivsi3): Likewise.
+ (modsi3): Likewise.
+ (umodsi3): Likewise.
+
+Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
+
+ * flow.c (redirect_edge_and_branch_force, split_edge,
+ try_crossjump_to_edge): Use set_block_for_new_insns.
+ * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
+
+2001-07-13 H.J. Lu (hjl@gnu.org)
+
+ * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
+ the correct patch.
+
+2001-07-13 Geoffrey Keating <geoffk@redhat.com>
+
+ Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
-Thu Jun 18 15:01:29 1992 Mike Stump (mrs@albert.gnu.ai.mit.edu)
+2001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
- * c++: Allow for better quoting and -v handling.
+ * c-common.c (decl_attributes): Take a pointer to the node to
+ which attributes are to be attached, and a flags argument.
+ * c-common.h (enum attribute_flags): New.
+ (decl_attributes): Update prototype.
+ * c-decl.c (start_decl, push_parm_decl, finish_struct,
+ finish_enum, start_function): Update calls to decl_attributes.
+ * c-parse.in (component_declarator, component_notype_declarator,
+ label): Update calls to decl_attributes.
-Thu Jun 18 14:49:20 1992 Tom Wood (wood@dg-rtp.dg.com)
+Fri Jul 13 23:04:00 2001 Denis Chertykov <denisc@overta.ru>
- For RMS:
- * varasm.c: Declare text_section and readonly_data_section.
+ * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
+ * config/avr/avr.c (legitimate_address_p): Return value changed
+ from letter to register classes. For better debugging.
- * dpx2.h (CPP_SPEC): Define __HAVE_68881__ unless -msoft-float.
- DPX/2 machines all have a 68882.
+2001-07-13 Kazu Hirata <kazu@hxi.com>
- * x-i386sco (RCCFLAGS): Use -DNULL=0 to avoid suurious warnings
- from rcc.
+ * jump.c (reversed_comparison_code_parts): Fix comment typos.
- * seq386.h (SIZE_TYPE): The Sequent running Dynix uses int for size_t.
+2001-07-13 H.J. Lu (hjl@gnu.org)
+
+ * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
+
+2001-07-13 Marc Espie <espie@cvs.openbsd.org>
+
+ * config.gcc (*-*-openbsd*): Add fragment to compile libgcc
+ correctly for shared configurations.
+ * config/t-libgcc-pic: New.
+ * config/{i386,m68k,sparc}/t-openbsd: New.
+ * config/openbsd.h: Include cpu_spec in cpp_spec where needed.
+ Support -shared. Support debugging libraries with -g.
+ * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
+ frame information does not emit pointer diffs.
+ * config/sparc/openbsd.h: Ensure dwarf2 frame information does not
+ emit pointer diffs.
+
+2001-07-13 Geoffrey Keating <geoffk@redhat.com>
+
+ Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
+
+2001-07-13 David Edelsohn <edelsohn@gnu.org>
+
+ * combine.c (try_combine): Ensure const_int pow2 is positive.
+
+2001-07-13 Hartmut Penner <hpenner@de.ibm.com>
+
+ * config.gcc: Add configuration for s/390.
+ * config/s390/s390.c: New. Subroutines for code generation.
+ * config/s390/s390.h: New. Definitions for s/390.
+ * config/s390/s390-protos.h: New. Prototypes.
+ * config/s390/linux.h: New. Definitions for linux for s/390.
+ * config/s390/linux64.h: New. Definitions for linux for zSeries.
+ * config/s390/t-linux: New. Makefile fragment.
+ * config/s390/s390.md: New. Machine description for s/390 and zSeries.
+ * config/s390/fixdfdi.h: New. Fix L_fix*di.
+
+Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * emit-rtl.c (try_split): Update mark_jump_label call.
+ * flow.c (find_sub_basic_blocks): Likewise.
+ * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
+ jump_back_p): Kill.
+ (mark_all_labels): Kill second parameter.
+ (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
+ (rebuild_jump_labels, jump_optimize_minimal): Update call
+ of jump_optimize_1.
+ (jump_optimize_1): Kill crossjumping code.
+ (mark_jump_label): Kill cross_jump parameter.
+ * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
+ (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
+ * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
+ splitting.
+ * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
+ DFI_bpro.
+ (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
+ reorganize passes to do reg-stack first, bb-reorder second.
+ * invoke.texi (-d letters doc): Remove the jump2 pass.
+
+2001-07-12 Steve Ellcey <sje@cup.hp.com>
+
+ * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
+
+Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
+ basic blocks.
+ (verify_flow_info): Make diagnostics prettier.
+
+Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * flow.c (find_basic_blocks_1): Do not emit NOP after call.
+
+ * flow.c (outgoing_edges_match): Return early if condition reversal
+ failed.
+
+2001-07-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
+ (mips_move_2words): When splitting a move into two instructions,
+ prefix the second address operand with '%D'.
+
+2001-07-12 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * Makefile.in (final.o): Depend on debug.h.
+ * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
+ (dbx_debug_hooks): Add new hooks.
+ (xcoff_debug_hooks): New.
+ * debug.c (debug_nothing_file_int_int): New.
+ (do_nothing_debug_hooks): Update.
+ * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
+ (debug_nothing_file_int_int): New.
+ * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
+ static, update prototype.
+ (dwarf2_debug_hooks): Update.
+ * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
+ * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
+ static, update prototype.
+ (dwarf_debug_hooks): Update.
+ * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
+ * final.c: Include debug.h.
+ (final_scan_insn): Use debug hooks when beginning and ending blocks.
+ * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
+ static, update prototype.
+ (sdb_debug_hooks): Update.
+ * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
+ * toplev.c: Distinguish between xcoff and dbx.
+
+ * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
+ Call all debug hooks, not just dwarf ones.
+
+2001-07-11 Timothy Wall <twall@redhat.com>
+
+ * config.gcc: Add configuration for AIX5/IA64.
+ * config/ia64/aix.h: New. AIX5/IA64-specific configuration.
+ * config/ia64/crt[in].asm: New. Generic static ctor/dtor
+ support prefix/suffix code.
+ * config/ia64/t-aix: New. Makefile fragment.
+ * config/ia64/unwind-aix.c: New. Unwind table entry lookup.
+
+2001-07-11 Kazu Hirata <kazu@hxi.com>
+
+ * recog.c (validate_change): Fix a comment typo.
+
+2001-07-11 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h.
+ * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
+ hooks directly.
+ * dbxout.c (dbx_debug_hooks): Add new hooks.
+ (dbxout_start_new_source_file): Rename dbxout_start_source_file,
+ make static.
+ (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
+ make static.
+ * dbxout.h (dbxout_start_new_source_file,
+ dbxout_resume_previous_source_file): Delete.
+ * debug.c (do_nothing_debug_hooks): Add new hooks.
+ (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
+ (debug_nothing_int_charstar, debug_nothing_int): New.
+ * debug.h (gcc_debug_hooks): New hooks define, undef,
+ start_source_file and end_source_file.
+ (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
+ (debug_nothing_int_charstar, debug_nothing_int): New.
+ * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into
+ the conditionally compiled section.
+ (dwarf2out_start_source_file, dwarf2out_end_source_file,
+ dwarf2out_define, dwarf2out_undef): Make static.
+ * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
+ dwarf2out_define, dwarf2out_undef): Remove.
+ * dwarfout.c (dwarf_debug_hooks): Add new hooks.
+ (dwarfout_start_source_file, dwarfout_end_source_file,
+ dwarfout_define, dwarfout_undef): Make static.
+ (dwarfout_start_source_file_check,
+ dwarfout_end_source_file_check): New.
+ (dwarfout_define, dwarfout_finish): Update.
+ * dwarfout.h (dwarfout_start_new_source_file,
+ dwarfout_resume_previous_source_file, dwarfout_define,
+ dwarfout_undef): Remove.
+ * sdbout.c (sdb_debug_hooks): Add new hooks.
+ (sdbout_start_new_source_file): Rename sdbout_start_source_file,
+ make static.
+ (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
+ make static, take an arg.
+ * sdbout.h (sdbout_start_new_source_file,
+ sdbout_resume_previous_source_file): Delete.
+ * toplev.c (debug_start_source_file, debug_end_source_file,
+ debug_define, debug_undef): Delete.
+ * toplev.h (debug_start_source_file, debug_end_source_file,
+ debug_define, debug_undef): Delete.
+
+ * java/jcf-parse.c: Include debug.h.
+ (parse_class_file): Update to use debug hooks directly.
+ * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
+
+Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * alias.c (set_mem_alias_set): New function.
+ * rtl.h (set_mem_alias_set): Declare it.
+ * builtins.c (expand_builtin_return_addr): Call it instead of
+ using MEM_ALIAS_SET accessor.
+ (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
+ (get_memory_rtx, expand_builtin_va_arg): Likewise.
+ (expand_builtin_va_copy):Likewise.
+ * caller-save.c (setup_save_areas): Likewise.
+ * calls.c (compute_argument_addresses): Likewise.
+ * explow.c (set_mem_attributes): Likewise.
+ * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
+ (expand_assignment, store_constructor_field, store_field): Likewise.
+ (expand_expr_unaligned): Likewise.
+ * function.c (assign_stack_temp_for_type): Likewise.
+ (put_reg_into_stack, gen_mem_addressof): Likewise.
+ * ifcvt.c (noce_try_cmove_arith): Likewise.
+ * reload1.c (reload, alter_reg): Likewise.
+ * config/alpha/alpha.c (get_aligned_mem): Likewise.
+ (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
+ (alpha_expand_unaligned_store): Likewise
+ (alpha_expand_unaligned_load_words): Likewise.
+ (alpha_expand_unaligned_store_words): Likewise.
+ (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
+ (alpha_expand_epilogue): Likewise.
+ * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
+ * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
+ * config/i386/i386.c (legitimize_pic_address): Likewise.
+ * config/i960/i960.c (setup_incoming_varargs): Likewise.
+ * config/ia64/ia64.c (spill_restore_mem): Likewise.
+ * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
+ * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
+ * config/mips/mips.c (mips_va_arg): Likewise.
+ * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
+ * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
+ * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
+ (setup_incoming_varargs, rs6000_va_arg): Likewise.
+ (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
+ (rs6000_emit_epilogue): Likewise.
+ * config/sh/sh.c (sh_builtin_saveregs): Likewise.
+ * config/sparc/sparc.c (sparc_va_arg): Likewise.
+ * config/v850/v850.c (v850_va_arg): Likewise.
+
+Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * flow.c (merge_blocks_move_successor_nojumps): Do not crash
+ when fallthru edge is present.
+ (mege_blocks): Handle case where creation of jump insn
+ is required.
+
+ * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
+ CLEANUP_POST_REGSTACK): New constants.
+ * except.c (finish_eh_generation): Update call of cleanup_cfg,
+ * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
+ * output.h (cleanup_cfg): Update prototype.
+ * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
+ * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
+ cleanup_cfg call; kill missleading comment.
+ * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
+ * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
+ parameter; control optimizations performed using it.
+ (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
+ try_crossjump_bb): New functions.
+
+2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.c (pa_output_function_prologue): Delete prototype. Make function
+ extern.
+ * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
+ pa_output_function_prologue.
+ * pa-protos.h (pa_output_function_prologue): New prototype.
-Thu Jun 18 14:36:41 1992 Mike Stump (mrs@albert.gnu.ai.mit.edu)
+2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
- Merge in Cygnus sources...
+ * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
+ and low to get correct sign extension in low+high test.
- Fri Jun 5 15:00:55 1992 Mike Stump (mrs at cygnus.com)
+2001-07-11 Janis Johnson <janis@us.ibm.com>
- * cp-typeck.c (build_c_cast): When casting, propagate const'ness
- from cast type. When casting to a reference to T, really just
- cast to T.
+ * gcov.c (arcdata): Use gcov_type to fix branch percentage
+ for large hit count.
- * cp-cvt.c (build_up_reference): Make a copy of a node before
- changing it. Only propagate the const bit if we are not
- subverting it.
+ * profile.c (branch_prob): Fix .bbg info for computed gotos
+ and C++ EH code.
- Fri Jun 5 14:36:19 1992 Mike Stump (mrs at cygnus.com)
+2001-07-11 Mark Mitchell <mark@codesourcery.com>
- * cp-cvt.c (build_up_reference): When casting away const on
- references, do not report an error.
+ * stmt.c (parse_output_constraint): New function, split out
+ from ...
+ (expand_asm_operands): ... here. Use parse_output_constraint.
+ * tree.h (parse_output_constraint): Declare it.
- Fri Jun 5 13:26:11 1992 Mike Stump (mrs at cygnus.com)
+2001-07-11 Richard Henderson <rth@redhat.com>
- * cp-init.c (build_new): Handle new placement with arrays.
+ * bitmap.c: Comment some functions; fiddle whitespace.
+ (bitmap_free): Don't export.
+ (bitmap_element_allocate): Use memset.
+ * bitmap.h (bitmap_free): Don't declare.
- Thu Jun 4 08:26:44 1992 Mike Stump (mrs at cygnus.com)
+2001-07-11 Daniel Berlin <dan@cgsoftware.com>
- * cp-search.c (compute_visibility): DERIVED_FROM_P had its
- arguments reversed, switched them to be in the right order.
- Fixes visibility on protected members.
+ * gcse.c, lcm.c, sched-deps.c:
+ s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
- Wed Jun 3 14:45:40 1992 Mike Stump (mrs at cygnus.com)
+ * flow.c (flow_loops_find): Free dom if we found no loops, since
+ we aren't going to save it.
- * cp-parse.y (unary_expr): Make it illegal to use delete on
- a pointer to a const object. With help from Brendan Kehoe.
+ * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
+ done.
- Wed Jun 3 13:25:26 1992 Ken Raeburn (Raeburn@Cygnus.COM)
+Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com)
- * cp-parse.y (template_instantiate_once): Set
- CLASSTYPE_GOT_SEMICOLON to eliminate messages about missing
- semicolons.
+ * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
- * cp-decl.c (start_function): Don't emit error message for missing
- semicolon after class decl; that syntax (declaring both class and
- function returning that type) should be legal. Do emit a warning if
- it's not an anonymous name.
+Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- Mon Jun 1 18:08:09 1992 Mike Stump (mrs at cygnus.com)
+ * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
+ #ifndef DWARF2_DEBUGGING_INFO.
- Sat May 30 15:38:54 1992 Brendan Kehoe (brendan@cs.widener.edu)
+2001-07-11 Richard Sandiford <rsandifo@redhat.com>
- * cp-decl.c (grokdeclarator): Don't allow main to be static.
+ * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
- Mon Jun 1 17:52:24 1992 Mike Stump (mrs at cygnus.com)
+2001-07-11 Richard Sandiford <rsandifo@redhat.com>
- Sat May 30 15:38:54 1992 Brendan Kehoe (brendan@cs.widener.edu)
+ * config/mips/mips.c (gen_int_relational): Tell the caller not to
+ reverse a branch if a NE comparison is implemented with GTU.
- * cp-decl.c (poplevel): Use DECL_INITIAL to detect undef label
- instead of DECL_SOURCE_LINE.
+2001-07-11 Richard Sandiford <rsandifo@redhat.com>
+ H.J. Lu <hjl@gnu.org>
- Mon Jun 1 17:22:54 1992 Mike Stump (mrs at cygnus.com)
+ * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
+ constant addresses.
+ (call_internal2): Likewise.
+ (call_value_internal1): Likewise.
+ (call_value_internal2): Likewise.
+ (call_value_multiple_internal1): Likewise.
+ (call_value_multiple_internal2): Likewise.
- * cp-parse.y (unary_expr): Don't allow old placement syntax(with {})
- nor dynamic with new (with ()) new placement syntax. Completes May 27
- fix.
+2001-07-10 Kazu Hirata <kazu@hxi.com>
- Mon Jun 1 13:57:28 1992 Mike Stump (mrs at cygnus.com)
+ * calls.c (emit_library_call_value_1): Fix a comment typo.
+ * dwarf2out.c (mem_loc_descriptor): Likewise.
+ * config/i386/i386.c (ix86_expand_aligntest): Likewise.
- * cp-type2.c (digest_init): Trailing '\0' is never ignored in
- initializations using strings in ANSI draft C++ unlike ANSI C.
+2001-07-11 David Billinghurst <David.Billinghurst@riotinto.com>
- Mon Jun 1 07:18:13 1992 Michael Tiemann (tiemann at rtl.cygnus.com)
+ * simplify-rtx.c (simplify_subreg): Fix typo in comment
- * cp-decl.c (pushdecl): Re-fix May 12 change regarding DECL_CONTEXT.
- * cp-call.c (build_method_call): Go back to using DECL_CONTEXT
- instead of DECL_CLASS_CONTEXT. DECL_CONTEXT says when a function
- was first declared virtual in a class, which is needed information
- in case the virtual function comes from a virtual baseclass (because
- the derived class won't have a vtable entry for that function (if it
- has a vtable at all!)).
+Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- Wed May 27 17:05:50 1992 Mike Stump (mrs at cygnus.com)
+ * recog.c (offsettable_address_p): Handle LO_SUM case.
+ * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
+ instead of plus_constant.
- * cp-parse.y (unary_expr): Handle new placement syntax, desupport
- the old placement syntax with a pedwarn.
+2001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
- Tue May 26 17:30:28 1992 Mike Stump (mrs at cygnus.com)
+ * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
+ fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
- Thu May 21 17:13:38 1992 Michael Tiemann (tiemann at cygnus.com)
+Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * cp-decl.c (grok_enum_decls): Allow reference to nested enums from
- other classes for NICHL.
+ * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
+ adjust_address_nv instead of plus_constant.
- Tue May 26 15:31:30 1992 Mike Stump (mrs at cygnus.com)
+2001-07-10 Neil Booth <neil@daikokuya.demon.co.uk>
- * cp-*.[chy]: Always include "assert.h" and not <assert.h> to
- be consistent.
+ * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
+ dwarf2out.o): Depend on debug.h, wrap long lines.
+ * dbxout.c: Include debug.h.
+ (dbx_debug_hooks): New.
+ (dbxout_init): Make static, take just 2 args.
+ (dbxout_finish): Make static.
+ * dbxout.h (dbxout_init, dbxout_finish): Delete.
+ * debug.c: New file.
+ * debug.h: New file.
+ * dwarf2out.c: Include debug.h.
+ (dwarf2_debug_hooks): New.
+ (dwarf2out_init): Make static.
+ (dwarf2out_finish): Make static, take 2 args.
+ * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
+ * dwarfout.c: Include debug.h.
+ (dwarf_debug_hooks): New.
+ (dwarfout_init): Make static.
+ (dwarfout_finish): Make static, take 2 args.
+ * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
+ * sdbout.c: Include debug.h.
+ (sdb_debug_hooks): New.
+ (sdbout_init): Make static, take 2 args.
+ * sdbout.h (sdbout_init): Delete.
+ * toplev.c: Include debug.h.
+ (debug_hooks): New.
+ (compile_file): Set deubg_hooks based on command line options.
+ Use the hooks unconditionally rather than conditional compilation.
- Tue May 26 10:07:02 1992 Mike Stump (mrs at cygnus.com)
+Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com)
- * cp-parse.y (return_init): Fix simple typo that caused '='
- initialized named return values to fail.
+ * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to
+ first_insn_after_basic_block_note instead.
- Mon May 25 11:42:18 1992 Mike Stump (mrs at cygnus.com)
+ * df.c (df_bb_refs_unlink): #if 0 out for now.
- * cp-parse.y (component_decl): Handle anonymous unions as before,
- except check to make sure it is really an anonymous union.
+2001-07-10 David Billinghurst <David.Billinghurst@riotinto.com
- Sat May 23 23:37:38 1992 Mike Stump (mrs at cygnus.com)
+ * ssa.h: Add prototype for ssa_const_prop
+ * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
+ (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
+ (ssa_fast_dce): Remove unused variable
- * cp-tree.c (layout_basetypes): Don't core dump on erroneous input.
+2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
- Sat May 23 22:04:31 1992 Mike Stump (mrs at cygnus.com)
+ * diagnostic.c (finish_diagnostic): Rename to
+ diagnostic_finish. Make it take an 'output_buffer *'. Adjust
+ calls thourghout.
- * cp-typeck.c (c_expand_start_case): build_type_conversion can
- return a NULL_TREE, so don't try and find a code or type of it.
+2001-07-10 Jason Merrill <jason_merrill@redhat.com>
- Wed May 20 09:09:08 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
+ * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
+ .loc support.
+
+ * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
+ (dump_file): Only pad the demangled name with spaces if the
+ mangled name was padded with spaces.
+
+2001-07-10 Bernd Schmidt <bernds@redhat.com>
+
+ * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
+ edge detection.
+
+Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
+ extraction if no direct load if either EXPAND_CONST_ADDRESS or
+ EXPAND_INITIALIZER.
+
+ * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
+ whether can put offset inside LO_SUM to check mode alignment, not size.
+
+2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
+
+ * doc/tm.texi (Misc): Fix thinko.
+
+2001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
+
+ * regmove.c (replace_in_call_usage): Fix warnings.
+ * sched-deps.c (add_dependence): Fix warnings.
+ * simplify-rtx.c (simplify_subreg): Likewise.
+ Return NULL_RTX instead of NULL.
+
+ * reg-stack.c (emit_swap_insn): Eliminate warnings.
+ (subst_asm_stack_regs): Likewise.
+
+ * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
+ warnings.
+
+ * dwarf2out.c (output_call_frame_info): Declare i as int.
+ (build_abbrev_table): Declare n_alloc as int.
+ (dwarf2out_finish): Initialize die.
+ * except.c: Declare sjlj_funcdef_number as unsigned.
+ (connect_post_landing_pads): Declare j as unsigned.
+ (convert_to_eh_region_ranges): Initialize call_site.
+ (output_function_exception_table): Initialize tt_format_size.
+ * expr.c (move_by_pieces_1): Initialize to1.
+ (store_constructor): Initialize minelt and maxelt.
+ * flow.c (mark_regs_live_at_end): Declare i as unsigned.
+ * function.c (instantiate_decls): Avoid signed/unsigned warning.
+
+ * c-decl.c (combine_parm_decls): Unused, remove.
+ * c-tree.h: Remove prototype for combine_parm_decls.
+
+ * reload.c (push_reload): Fix warning.
+ (regno_clobbered_p): Likewise.
+ * reload1.c (replace_pseudos_in_call_usage): Likewise.
+ (reload_combine): Likewise.
+
+ * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
+ * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
+ warnings.
+ * bitmap.c (bitmap_operation): Change user.
+ * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
+
+2001-07-10 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.c (override_options): Fix typo.
+
+2001-07-09 Stan Shebs <shebs@apple.com>
- * cp-call.c (build_method_call): Use DECL_CLASS_CONTEXT, not
- DECL_CONTEXT to find the class in which FUNCTION was declared (for
- non-virtual calls).
+ * target.h (struct gcc_target): New fields init_builtins and
+ expand_builtin.
+ * target-def.h (TARGET_INIT_BUILTINS): New macro.
+ (TARGET_EXPAND_BUILTIN): New macro.
+ (TARGET_INITIALIZER): Add them.
+ * builtins.c: Include target.h.
+ (expand_builtin): Use targetm.expand_builtin.
+ (default_init_builtins): New function.
+ (default_expand_builtin): New function.
+ * expr.h (default_init_builtins): Declare.
+ (default_expand_builtin): Declare.
+ * c-common.c (c_common_nodes_and_builtins): Use
+ targetm.init_builtins.
+ * defaults.h (MD_INIT_BUILTINS): Remove.
+ * Makefile.in (builtins.o): Depend on target.h.
+
+ * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
+ (TARGET_EXPAND_BUILTIN): Define.
+ * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
+ (MD_EXPAND_BUILTIN): Remove.
+
+ * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
+ (TARGET_EXPAND_BUILTIN): Define.
+ (c4x_init_builtins): Make endlink arg a local.
+ (c4x_print_operand): Fix typos in adjust_address usages.
+ * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
+ * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
+ (MD_EXPAND_BUILTIN): Remove.
+
+ * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
+ (TARGET_EXPAND_BUILTIN): Define.
+ (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
+ (ix86_init_builtins): Call new function only if TARGET_MMX.
+ * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
+ * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
+ (MD_EXPAND_BUILTIN): Remove.
+
+ * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
+ (TARGET_EXPAND_BUILTIN): Define.
+ * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
+ (MD_EXPAND_BUILTIN): Remove.
+
+ * doc/tm.texi: Document these changes.
+
+2001-07-09 Diego Novillo <dnovillo@redhat.com>
+
+ * basic-block.h (tree_node): Forward declare if needed.
+ (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
+ (BLOCK_HEAD_TREE): Define.
+ (BLOCK_END_TREE): Define.
+ (struct loops): Rename field 'tree' to 'tree_root'.
+ * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
+ 'end_tree'.
+ (flow_loops_tree_build): Rename reference to field 'tree' to
+ 'tree_root'.
+ (flow_loops_level_compute): Ditto.
+ * predict.c (estimate_bb_frequencies): Ditto.
+ * tree.h (struct tree_common): Add field 'aux'.
+
+2001-07-09 Stan Shebs <shebs@apple.com>
+
+ * config/darwin.c (darwin_encode_section_info): Don't mark any
+ DECL_EXTERNAL node as defined.
+
+2001-07-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.c (pa_init_machine_status, pa_mark_machine_status,
+ pa_free_machine_status, hppa_init_pic_save): Delete.
+ (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val.
+ (hppa_profile_hook): Use hppa_pic_save_rtx.
+ * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
+ hppa_init_pic_save): Delete.
+ (hppa_pic_save_rtx): Declare.
+ * pa.md (call, call_value, sibcall, sibcall_value,
+ builtin_setjmp_receiver): Use hppa_pic_save_rtx.
+
+2001-07-09 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
+ * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
+
+2001-07-09 Andreas Jaeger <aj@suse.de>
+
+ * output.h: Add declaration of final_forward_branch_p.
+
+ * config/i386/i386.c (output_fix_trunc): Remove unused variable.
+
+ * varray.c: Include errors.h for internal_error and trim_filename
+ declarations.
+
+ * Makefile.in (varray.o): Add errors.h.
+
+2001-07-09 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
+ * optabs.c (have_add2_insn): Check whether the add insn chosen
+ really accepts the operands. (have_sub2_insn): Ditto for sub insn.
+ * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
+
+Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com)
+
+ * Makefile.in (OBJS): Add ssa-ccp.o
+ (ssa-ccp.o): Add dependencies.
+ * toplev.c (DFI_ssa_ccp): New dump file enum.
+ (dump_file): Add entry for dumping after SSA CCP.
+ (flag_ssa_ccp): New flag variable.
+ (f_options): Add -fssa-ccp.
+ (rest_of_compilation): Run SSA CCP if requested.
+ * timevar.def (TV_SSA_CCP): New timevar.
+ * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
+ * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
+ Fix minor typo in SSA DCE documentation.
+ * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
+ Add documentation for new dump option. Renumber dump files
+ appropriately.
+
+Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * emit-rtl.c (gen_highpart_mode): New.
+ * rtl.h (gen_highpart_mode): Declare.
+ * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
+ operand can be VOIDmode constant.
+
+Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * flow.c (redirect_edge_and_branch_force): New.
+ (can_fallthru): Ensure that basic blocks are succeeding.
+ (try_optimize_cfg): Do not delete basic block if it is the last one.
+
+ * flow.c (try_redirect_by_replacing_jump): Do not remove
+ jumps with side effects, unlink chain on fallthru edge;
+ set block for new jump instruction; avoid basic block to
+ over by line number note.
+
+ * flow.c (try_simplify_condjump): Verify that the condjump
+ is not always falling through.
+
+ Re-install patch:
+ * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
+
+ * flow.c (forwarder_block_p): Fix for fallthru blocks.
+ (try_redirect_by_replacing_jump): Update properly the count
+ and frequency information.
+
+Mon Jul 9 06:41:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
+ address that is a LO_SUM specially.
+ * explow.c (plus_constant_wide, case LO_SUM): Deleted.
+
+ * c-lang.c (start_cdtor): Remove extra parameter from start_function.
+
+ * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
+ (operand_subword): Use them.
+ (change_address_1): Renamed from change_address; new arg VALIDATE.
+ * expr.h: Reflect above changes; change_address now macro.
+ * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
+ making MEM.
+ * cselib.c (add_mem_for_addr): Likewise.
+ * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
+ * regmove.c (try_apply_stack_adjustment): Likewise.
+ * reload.c (push_reload, make_memloc): Likewise.
+ * reload1.c (eliminate_regs): Likewise.
+ * simplify-rtx.c (simplify_replace_rtx): Likewise.
+ * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
+ adjust_addess.
+ * combine.c (make_extraction, simplify_shift_const): Likewise.
+ (gen_lowpart_for_combine): Likewise.
+ * cse.c (gen_lowpart_if_possible): Likewise.
+ * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
+ * expr.c (expand_expr, case COMPONENT_REF): Likewise.
+ * optabs.c (gen_move_insn): Likewise.
+ * reload1.c (alter_reg): Likewise.
+ * simplify-rtx.c (simplify_subreg): Likewise.
+ * stmt.c (expand_anon_union_decl): Likewise.
+ * recog.c (validate_replace_rtx_1): Likewise.
+ (expr.h): Include.
+ * Makefile.in (recog.o): Add $(EXPR_H).
+ * explow.c (stabilize): Call replace_equiv_address.
+ * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
+ * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
+
+2001-07-03 Andrew Haley <aph@redhat.com>
+
+ * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
+ the mode of the memory location.
+
+2001-07-09 Bo Thorsen <bo@suse.co.uk>
+
+ * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
+
+2001-07-09 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * final.c (output_addr_const): Use target opening and
+ closing parentheses.
+ * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
+ defaults, add to TARGET_ASM_OUT.
+ * target.h (struct gcc_target): Add open_paren and close_paren.
+ * doc/md.texi: Update.
+ * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
+ TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
+ TARGET_ASM_CLOSE_PAREN.
+ * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
+ Override.
+ * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
+ Override.
+ * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
+ * config/a29k/a29k.h: Similarly.
+ * config/alpha/alpha.h: Similarly.
+ * config/arc/arc.h: Similarly.
+ * config/arm/aof.h: Similarly.
+ * config/arm/aout.h: Similarly.
+ * config/avr/avr.h: Similarly.
+ * config/c4x/c4x.h: Similarly.
+ * config/clipper/clipper.h: Similarly.
+ * config/convex/convex.h: Similarly.
+ * config/d30v/d30v.h: Similarly.
+ * config/dsp16xx/dsp16xx.h: Similarly.
+ * config/elxsi/elxsi.h: Similarly.
+ * config/fr30/fr30.h: Similarly.
+ * config/h8300/h8300.h: Similarly.
+ * config/i370/i370.h: Similarly.
+ * config/i386/i386.h: Similarly.
+ * config/i860/i860.h: Similarly.
+ * config/i960/i960.h: Similarly.
+ * config/ia64/ia64.h: Similarly.
+ * config/m32r/m32r.h: Similarly.
+ * config/m68hc11/m68hc11.h: Similarly.
+ * config/m68k/m68k.h: Similarly.
+ * config/m88k/m88k.h: Similarly.
+ * config/mcore/mcore.h: Similarly.
+ * config/mips/mips.h: Similarly.
+ * config/mn10200/mn10200.h: Similarly.
+ * config/mn10300/mn10300.h: Similarly.
+ * config/ns32k/ns32k.h: Similarly.
+ * config/pa/pa.h: Similarly.
+ * config/pdp11/pdp11.h: Similarly.
+ * config/pj/pj.h: Similarly.
+ * config/romp/romp.h: Similarly.
+ * config/rs6000/rs6000.h: Similarly.
+ * config/sh/sh.h: Similarly.
+ * config/sparc/sparc.h: Similarly.
+ * config/v850/v850.h: Similarly.
+ * config/vax/vax.h: Similarly.
+ * config/we32k/we32k.h: Similarly.
+
+2001-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/c-tree.texi: Document representation of attributes.
+
+2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/tm.texi: Update some places for the rename of target to
+ targetm. Fix typo.
+
+2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * target.h (struct gcc_target): Add insert_attributes.
+ * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
+ (TARGET_INITIALIZER): Update.
+ * tree.c, tree.h (default_insert_attributes): New function.
+ Update comments on other default functions to refer to targetm,
+ not target.
+ * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
+ TARGET_INSERT_ATTRIBUTES.
+ (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
+ * c-common.c (decl_attributes): Use targetm.insert_attributes.
+ Don't use PRAGMA_INSERT_ATTRIBUTES.
+ * Makefile.in (c-common.o): Depend on $(TARGET_H).
+ * c-decl.c (start_decl, start_function): Don't call
+ SET_DEFAULT_DECL_ATTRIBUTES.
+ * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
+ * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
+ declare.
+ * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
+ (c4x_check_attribute): Avoid modifying attribute list itself.
+ (c4x_set_default_attributes): Rename to c4x_insert_attributes.
+ Make static.
+ * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
+ * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
+ declare.
+ * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
+ (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
+ Make static.
+ * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
+ * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
+ declare.
+ * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
+ (v850_set_default_decl_attr): Rename to v850_insert_attributes.
+ Adjust parameters. Make static.
+
+2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (decl_attributes): Only take a single attributes
+ parameter.
+ * c-common.h (decl_attributes): Update prototype.
+ * c-decl.c (start_decl, start_function): Only take a single
+ attributes parameter. Update calls to decl_attributes.
+ (finish_struct, finish_enum): Update calls to decl_attributes.
+ (push_parm_decl): Expect unified list of attributes. Update call
+ to decl_attributes.
+ * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
+ notype_nested_function, component_declarator,
+ component_notype_declarator, label): Update calls to
+ decl_attributes.
+ (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
+ lists that are passed to push_parm_decl.
+ * c-tree.h (start_function, start_decl): Update prototypes.
+ * config/sh/sh-protos.h, config/sh/sh.c
+ (sh_pragma_insert_attributes): Only take a single attributes
+ parameter.
+ * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
+ * doc/tm.texi (INSERT_ATTRIBUTES): Update.
+ * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
+ build_module_descriptor, generate_static_references,
+ generate_strings, build_selector_translation_table,
+ generate_descriptor_table, generate_protocols,
+ generate_ivars_list, generate_dispatch_table,
+ generate_protocol_list, generate_category,
+ generate_shared_structures, really_start_method, add_objc_decls,
+ generate_classref_translation_entry): Update calls to start_decl
+ and start_function.
+ (build_tmp_function_decl, start_method_def): Unify attribute lists
+ that are passed to push_parm_decl.
+
+2001-07-08 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * final.c (no_asm_to_stream): New.
+ (final_scan_insn): Use target structures for prologue ends
+ and epilogue starts.
+ * output.h (no_asm_to_stream): New.
+ * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
+ TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
+ (TARGET_ASM_OUT): Update.
+ * target.h (struct gcc_target): New members function_end_prologue
+ and function_begin_epilogue.
+ * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
+ * config/alpha/alpha-protos.h (output_end_prologue): Delete.
+ * config/alpha/alpha.c (output_end_prologue): Rename to
+ alpha_output_function_end_prologue. Use in target struct
+ and make static.
+ * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
+ * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
+ * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
+ ia64_output_function_end_prologue. Use in target struct
+ and make static.
+ (ia64_function_prologue, ia64_function_epilogue): Rename
+ mistyped prototypes.
+ * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
+ * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
+ Delete.
+ * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
+ an use in target struct, make static.
+ * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
+ Delete.
+
+2001-07-08 Richard Henderson <rth@redhat.com>
+
+ * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
+
+2001-07-08 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md: Remove constraints strings from define_split
+ and define_peephole2 patterns.
+ (eh_return_si, eh_return_di): Split eh_return_1 for modes.
+ (eh_return): Use them.
+
+2001-07-08 Richard Henderson <rth@redhat.com>
+
+ * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
+ Document MD_FALLBACK_FRAME_STATE_FOR.
+
+2001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
+ Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
+ elimination.
+ * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
+
+2001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
+ of the label inside NAME as opposed to just the end of NAME.
+
+2001-07-07 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
+ * config/alpha/alpha.c (alpha_init_machine_status,
+ alpha_mark_machine_status, alpha_free_machine_status): Delete.
+ (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
+ (vms_valid_decl_attribute_p): Make static, conditionally compile.
+ * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
+
+2001-07-06 Stan Shebs <shebs@apple.com>
+
+ * target.h (targetm): Rename global from "target", so as not to
+ conflict with local variables.
+ * c-decl.c: Ditto.
+ * c-typeck.c: Ditto.
+ * final.c: Ditto.
+ * tree.c: Ditto.
+ * cp/decl.c: Ditto.
+ * cp/decl2.c: Ditto.
+ * cp/typeck.c: Ditto.
+ * 1750a/1750a.c: Ditto.
+ * a29k/a29k.c: Ditto.
+ * arc/arc.c: Ditto.
+ * arm/arm.c: Ditto.
+ * avr/avr.c: Ditto.
+ * clipper/clipper.c: Ditto.
+ * convex/convex.c: Ditto.
+ * d30v/d30v.c: Ditto.
+ * dsp16xx/dsp16xx.c: Ditto.
+ * elxsi/elxsi.c: Ditto.
+ * fr30/fr30.c: Ditto.
+ * h8300/h8300.c: Ditto.
+ * i370/i370.c: Ditto.
+ * i386/i386.c: Ditto.
+ * i860/i860.c: Ditto.
+ * i960/i960.c: Ditto.
+ * ia64/ia64.c: Ditto.
+ * m32r/m32r.c: Ditto.
+ * m68hc11/m68hc11.c: Ditto.
+ * m68k/m68k.c: Ditto.
+ * m88k/m88k.c: Ditto.
+ * mips/mips.c: Ditto.
+ * ns32k/ns32k.c: Ditto.
+ * pa/pa.c: Ditto.
+ * pdp11/pdp11.c: Ditto.
+ * romp/romp.c: Ditto.
+ * rs6000/rs6000.c: Ditto.
+ * sh/sh.c: Ditto.
+ * sparc/sparc.c: Ditto.
+ * vax/vax.c: Ditto.
+ * we32k/we32k.c: Ditto.
+ * doc/tm.texi: Update the manual to match.
+
+2001-07-06 Richard Henderson <rth@redhat.com>
+
+ * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
+ DWARF2_UNWIND_INFO not just whether it is defined.
+
+2001-07-06 Diego Novillo <dnovillo@redhat.com>
+
+ * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
+ call to simplify_binary_operation returns a new pattern.
+
+2001-07-06 Roman Lechtchinsky <rl@cs.tu-berlin.de>
+
+ * glimits.h (__SHRT_MAX__): New.
+ (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
+ (SHRT_MAX): Define in terms of __SHRT_MAX__.
+
+2001-07-06 Jan van Male <jan.vanmale@fenk.wau.nl>
+
+ * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
+ avoid warnings.
+
+2001-07-06 Richard Henderson <rth@redhat.com>
+
+ * bitmap.c (bitmap_release_memory): Move adjacent to the
+ allocation functions.
+ (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
+ the implementation. Binary search for the set bit.
+ (bitmap_union_of_diff): Allocate the temporary on the stack
+ instead of using xmalloc.
+
+2001-07-06 Richard Henderson <rth@redhat.com>
+
+ * genrecog.c (validate_pattern): Warn for constraints in
+ define_{expand,split,peephole2}. Remove strict_low_part
+ before looking up match_dup.
+
+2001-07-06 DJ Delorie <dj@redhat.com>
+
+ * doc/gcc.texi (Makefile): Rename to be a more general purpose
+ chapter about various build hints and history. Add section
+ talking about the various types of native and cross builds.
+
+2001-07-06 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * Makefile.in (final.o): Depend on target.h.
+ * final.c: Include target.h.
+ (default_function_pro_epilogue): New.
+ (final_start_function): Use target structure for function prologues.
+ (final_end_function): Use target structure for function epilogues.
+ * fold-const.c (real_hex_to_f): Constify s and p.
+ * output.h (default_function_pro_epilogue): New.
+ * real.h (real_hex_to_f): Update prototype.
+ * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
+ TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
+ (TARGET_INITIALIZER): Update.
+ * target.h (gcc_target): Add struct asm_out.
+ * doc/tm.texi: Update.
+
+config:
+ Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
+ TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions
+ in cpu/cpu.c, or rename old functions consistently. Take
+ a HOST_WIDE INT not an int as the SIZE parameter. Remove now
+ redundant macros and prototypes. Make new functions static.
+
+ * 1750a/1750a.c: Similarly.
+ * 1750a/1750a.h: Similarly.
+ * a29k/a29k-protos.h: Similarly.
+ * a29k/a29k.c: Similarly.
+ * a29k/a29k.h: Similarly.
+ * arc/arc-protos.h: Similarly.
+ * arc/arc.c: Similarly.
+ * arc/arc.h: Similarly.
+ * arm/arm-protos.h: Similarly.
+ * arm/arm.c: Similarly.
+ * arm/arm.h: Similarly.
+ * avr/avr-protos.h: Similarly.
+ * avr/avr.c: Similarly.
+ * avr/avr.h: Similarly.
+ * clipper/clipper-protos.h: Similarly.
+ * clipper/clipper.c: Similarly.
+ * clipper/clipper.h: Similarly.
+ * convex/convex.c: Similarly.
+ * convex/convex.h: Similarly.
+ * d30v/d30v-protos.h: Similarly.
+ * d30v/d30v.c: Similarly.
+ * d30v/d30v.h: Similarly.
+ * d30v/d30v.md: Similarly.
+ * dsp16xx/dsp16xx-protos.h: Similarly.
+ * dsp16xx/dsp16xx.c: Similarly.
+ * dsp16xx/dsp16xx.h: Similarly.
+ * elxsi/elxsi.c: Similarly.
+ * elxsi/elxsi.h: Similarly.
+ * fr30/fr30.c: Similarly.
+ * fr30/fr30.md: Similarly.
+ * h8300/h8300-protos.h: Similarly.
+ * h8300/h8300.c: Similarly.
+ * h8300/h8300.h: Similarly.
+ * i370/i370-protos.h: Similarly.
+ * i370/i370.c: Similarly.
+ * i370/i370.h: Similarly.
+ * i386/i386.c: Similarly.
+ * i386/osf1elf.h: Similarly.
+ * i386/osfrose.h: Similarly.
+ * i860/i860-protos.h: Similarly.
+ * i860/i860.c: Similarly.
+ * i860/i860.h: Similarly.
+ * i960/i960-protos.h: Similarly.
+ * i960/i960.c: Similarly.
+ * i960/i960.h: Similarly.
+ * ia64/ia64-protos.h: Similarly.
+ * ia64/ia64.c: Similarly.
+ * ia64/ia64.h: Similarly.
+ * m32r/m32r-protos.h: Similarly.
+ * m32r/m32r.c: Similarly.
+ * m32r/m32r.h: Similarly.
+ * m68hc11/m68hc11-protos.h: Similarly.
+ * m68hc11/m68hc11.c: Similarly.
+ * m68hc11/m68hc11.h: Similarly.
+ * m68k/crds.h: Similarly.
+ * m68k/dpx2.h: Similarly.
+ * m68k/m68k-protos.h: Similarly.
+ * m68k/m68k.c: Similarly.
+ * m68k/m68k.h: Similarly.
+ * m68k/news.h: Similarly.
+ * m88k/m88k-protos.h: Similarly.
+ * m88k/m88k.c: Similarly.
+ * m88k/m88k.h: Similarly.
+ * mips/mips-protos.h: Similarly.
+ * mips/mips.c: Similarly.
+ * mips/mips.h: Similarly.
+ * ns32k/merlin.h: Similarly.
+ * ns32k/ns32k.c: Similarly.
+ * ns32k/ns32k.h: Similarly.
+ * ns32k/tek6000.h: Similarly.
+ * pa/pa-protos.h: Similarly.
+ * pa/pa.c: Similarly.
+ * pa/pa.h: Similarly.
+ * pdp11/2bsd.h: Similarly.
+ * pdp11/pdp11-protos.h: Similarly.
+ * pdp11/pdp11.c: Similarly.
+ * pdp11/pdp11.h: Similarly.
+ * romp/romp-protos.h: Similarly.
+ * romp/romp.c: Similarly.
+ * romp/romp.h: Similarly.
+ * rs6000/rs6000-protos.h: Similarly.
+ * rs6000/rs6000.c: Similarly.
+ * rs6000/rs6000.h: Similarly.
+ * rs6000/sysv4.h: Similarly.
+ * sh/sh-protos.h: Similarly.
+ * sh/sh.c: Similarly.
+ * sh/sh.h: Similarly.
+ * sparc/sparc-protos.h: Similarly.
+ * sparc/sparc.c: Similarly.
+ * sparc/sparc.h: Similarly.
+ * vax/vax.c: Similarly.
+ * vax/vax.h: Similarly.
+ * vax/vms.h: Similarly.
+ * we32k/we32k.c: Similarly.
+ * we32k/we32k.h: Similarly.
+
+Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com)
+
+ * basic-block.h (first_insn_after_basic_block_note): Declare.
+ * flow.c (first_insn_after_basic_block_note): Define. Moved
+ from...
+ * ssa.c (first_insn_after_basic_block_note): Remove.
+ * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
+ necessary.
+ (ssa_eliminate_dead_code): Properly update the CFG and PHI
+ nodes when we find a dead conditional branch. Insert BARRIERs
+ after any blocks with no successors, but which do not have
+ any BARRIERs.
+
+2001-07-06 Zack Weinberg <zackw@stanford.edu>
+
+ * varray.c (varray_check_failed): Use internal_error.
+
+2001-07-05 Andrew Haley <aph@redhat.com>
+
+ * Makefile.in (LIB2_DIVMOD_FUNCS): New.
+ (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
+ * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
+
+2001-07-02 Jason Merrill <jason_merrill@redhat.com>
+
+ * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
+ reference if the target constant is also a SYMBOL_REF.
+
+2001-07-05 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.h (MASK_MIPS3900): Remove.
+ (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
+ MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
+ (TARGET_MIPS3900): Change to use mips_arch.
+ (TARGET_MIPS4000): New.
+ (TARGET_MIPS4100): New.
+ (TARGET_MIPS4300): New.
+ (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
+ (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
+ for -mipsX.
+ (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
+ (ISA_HAS_BRANCHLIKELY): To here.
+ (CC1_CPU_SPEC): New.
+ (CC1_SPEC): Use here. Remove 4650 and 3900 options.
+ (mips_arch_string): Declare.
+ (mips_arch): Declare.
+ (TARGET_OPTIONS): Add -march and -mtune.
+
+ * config/mips/mips.c (mips_arch_string): New.
+ (mips_arch): New.
+ (override_options): Handle -march for codegen and -mtune
+ for scheduling. Use mips_arch. Move tx39 target default here.
+ (mips_parse_cpu): Move error message to override_options.
+
+ * config/mips/r3900.h (TARGET_DEFAULT): Remove.
+
+ * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
+
+ * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
+ (MIPS Options): Ditto. Change mcpu entry to historical text.
+
+2001-07-05 H.J. Lu (hjl@gnu.org)
+
+ * config/mips/mips.c (mips_parse_cpu): New function to parse
+ -march=*/-mcpu=*.
+
+2001-07-05 Jim Wilson <wilson@redhat.com>
+
+ * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
+ * config/ia64/t-ia64: Likewise.
+ (LIB1ASMFUNCS): Update comment.
+
+2001-07-05 David Edelsohn <edelsohn@gnu.org>
- Tue May 19 02:08:39 1992 Mike Stump (mrs at cygnus.com)
+ * doc/install.texi (Install GCC: Binaries): Fix typo.
- * cp-parse.y (component_decl): Remove some bogus code that
- prevents empty nested union definitions from compiling.
+2001-07-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
- Tue May 19 01:08:23 1992 Mike Stump (mrs at cygnus.com)
+ * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
+ reference using the stack pointer, adjust it since we push Y
+ temporarily.
+ ("*ashrsi3"): Likewise.
+ ("*lshrsi3"): Likewise.
- * cp-decl.c (grokfndecl): Propagate volatile from type of
- function out to the decl for the function.
+2001-07-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
- Mon May 18 17:19:39 1992 Mike Stump (mrs at rtl.cygnus.com)
+ * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
+ when -fomit-frame-pointer is used.
- * cp-search.c (get_binfo): Since unions cannot participate in
- inheritance relationships, return 0 instead of aborting.
+2001-07-05 Jeffrey Oldham <oldham@codesourcery.com>
- Fri May 15 13:37:40 1992 Mike Stump (mrs at cygnus.com)
+ * flow.c: Reverse Jan Hubicka's patch of 02July2001.
+ (try_redirect_by_replacing_jump): Reverse updating properly the
+ count and frequency information. Reverse removing cc0 setter.
+ (forwarder_block_p): Reverse fixing for fallthru blocks.
- * cp-parse.y (template_type_name): Handle
- template<class T> class task { friend task<T>* preempt(task<T>*); };
- syntax.
+2001-07-05 DJ Delorie <dj@redhat.com>
+
+ * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
+ (translate_options): If the above is defined, use it to map
+ given options to new options.
+ * doc/tm.texi: Document it.
+
+2001-07-05 Brad Lucier <lucier@math.purdue.edu>
+ Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/invoke.texi (Optimize Options): Document that -fgcse may
+ cause programs using computed gotos to run more slowly.
+
+2001-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Specific): Markup, spelling and typo fixes.
+ Fixed sorting.
+ Consistently require binutils 2.11.2, not prereleases.
+ (Specific, decstation-*): Canonicalize as mips-dec-*.
+ (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
+ always necessary.
+ (Specific, m68k-altos): Removed reference to README.altos, deleted.
+ (Specific, mips-*): Reword MIPS C compiler requirements.
+ (Specific, powerpc*-*-*): New, mention --with-cpu once.
+ (Specific, sunv5): Removed, obsolete.
+
+2001-07-05 Nathan Sidwell <nathan@codesourcery.com>
+
+ * dwarf2out.c (output_loc_list): Use an all ones mask for
+ .text asm output and don't rely on long long
+ literals. Reformat some long lines.
+
+2001-07-05 Andreas Jaeger <aj@suse.de>
+
+ * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
+ section.
+
+2001-07-04 Daniel Berlin <dan@cgsoftware.com>
+
+ * dwarf2out.c (dwarf2out_define): Update comment.
+ (dwarf2out_undef): Ditto.
+ (dwarf2out_start_source_file): Ditto.
+ (dwarf2out_end_source_file): Ditto.
+ (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
+ since we never call the start/end debug hook for the primary file.
+
+2001-07-04 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
+ from shll.
+
+2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cppinit.c (remove_dup_dirs): Inform if a system include
+ directory is being reordered.
+ * doc/invoke.texi (Directory Options): GCC warns if you hide a
+ system include.
+ * doc/cpp.texi (Search Paths): Likewise.
+ * doc/gcc.texi (Interoperation): Remove information about
+ -I/usr/include.
+
+2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
+
+ * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
+ (VARRAY_TOP_CHAR_PTR): Likewise.
+
+2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcc.c (process_command): Don't assign elements of a const char*.
+
+Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * emit-rtl.c (change_address): Don't abort if invalid address while
+ reload is in progress.
+
+2001-07-04 Daniel Berlin <dan@cgsoftware.com>
+
+ * c-lex.c (cb_file_change): Pass line number to
+ debug_start_source_file.
+ (cb_undefine): Pass correct line number to debug_undef.
+
+ * toplev.c (debug_start_source_file): Add line number to
+ parameters. Pass it along to dwarf2out_start_source_file.
+ (decode_g_option): Stop resetting debug level back to normal when
+ we change debug formats, unless the current level is
+ none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
+ 3).
+
+ * toplev.h (debug_start_source_file): Add line number to
+ parameters.
+
+ * dwarf2out.h (dwarf2out_start_source_file): Add line number to
+ parameters.
+
+ * dwarf2out.c (dwarf2out_start_source_file): Add line number to
+ parameters.
+ Output debug_macinfo data for starting file if requested.
+ (dwarf2out_end_source_file): Output debug_macinfo data for ending
+ file if requested.
+ (dwarf2out_define): Output debug_macinfo data for defining a macro
+ if requested.
+ (dwarf2out_undef): Output debug_macinfo data for undefining a
+ macro if requested.
+ (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
+ (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
+ (macinfo_section_label): New. DWARF2 macro info section label.
+ (dwarf2out_init): If we want macro info, output the start label
+ for the section.
+ (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
+ attribute to the compilation unit die pointing to the macro info.
+
+2001-07-04 Daniel Berlin <dan@cgsoftware.com>
+
+ * dwarf2out.c (new_loc_list): Move to inside #ifdef
+ DWARF2_DEBUGGING_INFO.
+ (add_loc_descr_to_loc_list): Ditto.
+ (output_loc_list): Ditto.
+ Also, fix thinko in curr not being initialized.
+ (gen_internal_sym): Ditto.
+
+Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * emit-rtl.c (replace_equiv_address): New function.
+ * expr.h (replace_equiv_address): New declaration.
+ * explow.c (validize_mem): Call it instead of change_address and
+ also call if -fforce-addr and address is constant.
+ * expr.c: Replace more calls to change_address with adjust_address
+ and/or replace_equiv_address or to validize_mem.
+ * function.c, regmove.c, config/alpha/alpha.c: Likewise.
+ * config/arm/arm.md, config/clipper/clipper.md: Likewise.
+ * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
+ * config/i370/i370.md, config/i860/i860.md: Likewise.
+ * config/i960/i960.md, config/mips/mips.c: Likewise.
+ * config/mips/mips.md, config/pa/pa.md: Likewise.
+ * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
+ * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
+
+2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
+
+ * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
+ function.
+
+2001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/include: New directory.
+ * doc/fdl.texi: Move to doc/include/fdl.texi.
+ * doc/texinfo.tex: Move to doc/include/texinfo.tex.
+ * doc/include/funding.texi, doc/include/gpl.texi: New files.
+ * doc/gcc.texi: Use funding.texi and gpl.texi.
+ * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
+ $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
+ Update dependencies and use -I $(docdir)/include.
+
+2001-07-04 Anthony Green <green@redhat.com>
+
+ * config/v850/t-v850 (v850-c.o): Add missing dependencies.
+
+2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (sparc64-*-*): Remove garbage.
+
+Wed Jul 4 09:07:44 2001 Jan van Male <jan.vanmale@fenk.wau.nl>
+
+ * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
+ Fix typo in last change to use adjust_address.
+
+2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Specific): Update information for *-*-solaris*.
+
+Tue Jul 3 22:33:15 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * explow.c (plus_constant_wide): Reinitialize Y for restart.
+
+2001-07-03 Stan Shebs <shebs@apple.com>
+
+ * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
+ case for flag_no_mach_text_sections.
+ (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
+ * config/darwin.c (flag_no_mach_text_sections): Remove.
+ * config/darwin-protos.h (darwin_init_pragma): Remove decl.
+
+Tue Jul 3 15:35:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
+ and avoid checking for constant as first operand.
+ * recog.c (find_constant_term_loc): No longer static.
+ (adj_offettable_operand): Delete.
+ * rtl.h (adj_offsettable_operand): Delete declaration.
+ (find_constant_term): Add declaration.
+ * caller-save.c: Replace calls to adj_offsettable_operand with calls
+ to adjust_address.
+ * config/arm/arm.c, config/c4x/c4x.c: Likewise.
+ * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
+ * config/i386/i386.c, config/i386/i386.md: Likewise.
+ * config/i860/i860.c, config/i960/i960.c: Likewise.
+ * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
+ * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
+ * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
+ * config/mips/mips.c, config/mips/mips.md: Likewise.
+ * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
+ * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
+ * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
+ * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
+ * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
+ * config/ns32k/ns32k.md: Likewise.
+
+2001-07-03 Zack Weinberg <zackw@stanford.edu>
+
+ * rtl.c (copy_rtx): Handle 'T' format letter.
+ * gensupport.c (collect_insn_data): Likewise.
+ * print-rtl.c (print_rtx): Print 'T' slots like 's'.
+
+2001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * doc/invoke.texi (Directory Options): Specifiy range for <N> in
+ -B option. Use 'dir' not 'foo' as example directory name.
+
+2001-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
+
+2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/cppinternals.texi: Improve formatting and logical markup.
+
+2001-07-03 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in (insn-recog.o): Add dependency on reload.h.
+
+ * genrecog.c (write_header): Include reload.h for prototypes in
+ insn-recog.c.
+
+2001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
+
+config:
+ * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
+ VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
+ i386_pe_valid_type_attribute_p): Add.
+ * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
+ * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
+
+Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * explow.c (plus_constant_wide, case LO_SUM): New case.
+ (plus_constant_for_output_wide): Delete.
+ * rtl.h (plus_constant_for_output): Delete.
+ * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
+ instead of plus_constant_for_output.
+ * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
+ * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
+ * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
+ * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
+ * config/sparc/sparc.md: Likewise.
+ Convert some change_address calls to adjust_address.
+
+2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
+ doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
+ documentation of -std and -Wwrite-strings.
+
+2001-07-02 Geoffrey Keating <geoffk@redhat.com>
+
+ * cse.c (canon_hash): Don't register registers in very small
+ register classes, as extending their lifetime might cause
+ reload to fail.
+
+Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
+
+ * flow.c (forwarder_block_p): Fix for fallthru blocks.
+ (try_redirect_by_replacing_jump): Update properly the count
+ and frequency information.
+
+Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com)
+
+ * toplev.c (dump_file_index): Move SSA dumps just after first
+ jump dump.
+ (dump_file): Corresponding changes.
+ (rest_of_compilation): Move SSA path to just after the first
+ jump pass.
+ * doc/gcc.texi (Passes): Update due to movement of SSA path.
+ * doc/invoke.texi: Update dump file #s as they were completely
+ out of date with reality.
+
+2001-07-02 Geoffrey Keating <geoffk@redhat.com>
+
+ * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
+
+ * expr.c (emit_move_insn_1): Deal with non-default
+ STACK_PUSH_CODE.
+
+ * expr.c (emit_single_push_insn): Fix warning.
+
+2001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
+
+ * expr.c (emit_move_insn_1): Avoid modifying
+ cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
- * cp-pt.c (lookup_template_class): Ditto.
+Mon Jul 2 15:33:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- Thu May 14 22:54:17 1992 Mike Stump (mrs at cygnus.com)
+ * emit-rtl.c (adjust_address): New function.
+ * expr.h (adjust_address): Add declaration.
+ * builtins.c: Replace some calls to change_address with calls to it
+ or to validize_mem.
+ * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
+ * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
+ * config/arm/arm.c, config/convex/convex.c: Likewise.
+ * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
+ * config/i386/i386.c, config/i386/i386.md: Likewise.
+ * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
+ * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
+ * config/m88k/m88k.c, config/mips/mips.md: Likewise.
+ * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
+ * config/sh/sh.c, config/sparc/sparc.md: Likewise.
- * cp-tree.c (layout_basetypes): Don't warn about non-virtual
- destructors unless the user asks with -Wall.
+2001-07-02 Jim Wilson <wilson@redhat.com>
- Thu May 14 22:38:54 1992 Mike Stump (mrs at cygnus.com)
+ * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
- * cp-type2.c (build_functional_cast): exp may be an error_mark_node,
- don't crash when it is.
+2001-07-02 Steve Ellcey <sje@cup.hp.com>
- Thu May 14 18:56:26 1992 Mike Stump (mrs at cygnus.com)
+ * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
+ * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
- * cp-decl.c (hack_incomplete_structures): Test for underflow
- before decreamenting n_incomplete in current_binding_level, since
- it is unsigned.
+2001-07-02 Zack Weinberg <zackw@stanford.edu>
- Tue May 12 15:52:49 1992 Mike Stump (mrs at cygnus.com)
+ * cppinit.c (lang_defaults): New table.
+ (set_lang): Just read from lang_defaults into the live options
+ structure.
- Mon May 11 14:10:50 1992 Ron Guilmette (rfg at ncd.com)
+2001-07-02 Zack Weinberg <zackw@stanford.edu>
- * cp-decl.c (poplevel): Reconciled with recent changes made to the
- `poplevel' routine in c-decl.c. The changes here cause LABEL_DECL
- nodes to be attached (as the BLOCK_VARS chain) to the BLOCK node
- which represent the outermost scope of the function.
+ * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
+ * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
+ * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
- Mon May 11 12:35:44 1992 Ron Guilmette (rfg at ncd.com)
+2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- * cp-class.c (finish_struct): Check DECL_CONTEXT to see if it is
- any sort of a type (e.g. struct *or* union) rather than just
- checking it to see if it's a RECORD_TYPE.
- * cp-decl.c (pushdecl): Set DECL_CONTEXT of pushed ..._DECL node,
- just as is done in c-decl.c.
- (pushdecl): Delete useless variable `cntxt'.
- (finish_decl): Set TREE_USED rather than DECL_FROM_INLINE in order
- to prevent "unused" warnings.
- (finish_function): Check DECL_CONTEXT to see if it is a type.
- (finish_function): Fixed indentation problem.
- * cp-gc.c (build_m_desc): Check DECL_CONTEXT to see if it is a type.
- * cp-init.c (build_virtual_init): Fix indentation.
- * cp-lex.c (store_pending_inline): Check DECL_CONTEXT to see if it
- is a type.
- * cp-pt.c (tsubst, do_pending_expansions): Check DECL_CONTEXT to see
- if it is a type.
- * cp-typeck.c (mark_addressable): Check DECL_CONTEXT to see if it is
- any sort of a type (e.g. struct *or* union) rather than just
- checking it to see if it's a RECORD_TYPE.
+ * doc/install.texi: Various spelling and markup fixes.
+ (Installing GCC): Component specific installation instructions are
+ gone.
+ Fix reference.
+ Warn about removing old install dir in the presence of shared libs.
+ (Configuration): Invoke with options target to match configure
+ --help.
+ Consistently refer to gas, gld pathnames.
+ Invert --enable-multilib documentation.
+ Remove references to old compiler versions.
- Tue May 12 08:52:06 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
+Mon Jul 2 12:50:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * cp-typeck.c (build_component_ref): Call `break_out_cleanups'.
- Also clean up indentiation.
+ * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
- Mon May 11 23:14:04 1992 Mike Stump (mrs at cygnus.com)
+2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- * cp-decl.c (pushtag): Handle structure tags in the same way as the
- C front-end. This completes a change that rms put in on 3/12/92 and
- I put in the Cygnus tree on 3/13/92 and Mark Eichin took back out on
- 3/18/92.
+ * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
+ section.
+ (Specific, mips*-sgi-irix5): Note IDO download.
+ Reworded MIPS C hints.
+ Use GNU as instead of GAS.
+ Markup fixes.
+ Removed SGI Freeware reference, IRIX 6 only.
+ (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
+ Note N64 library requirement/workaround.
+ Update O32 hints.
+ Complete list of structure passing bug victims.
- Sun May 3 00:29:59 1992 Mike Stump (mrs at cygnus.com)
+2001-07-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
- * cp-lex.c (copy_lang_decl, store_pending_inline): Cast
- arguments to bcopy to be char *.
+ * doc/install.texi: Remove CVS Id.
- Fri May 1 12:22:31 1992 Michael Tiemann (tiemann@cygnus.com)
+2001-07-02 Andreas Jaeger <aj@suse.de>
- * cp-init.c (expand_aggr_init, expand_vec_init): When comparing
- array types, use `comptypes' instead of ==, since two array types
- may be structurally identical but not == if one was defaulted from
- an initializer.
+ * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
+ (find_inherently_necessary): Remove unused variable.
- Wed Apr 29 01:25:25 1992 Mike Stump (mrs at cygnus.com)
+2001-07-02 Nathan Sidwell <nathan@codesourcery.com>
- * cp-init.c (do_friend): Check that PREVIOUS_DECL is non-NULL.
+ * c-common.h (TDI_inlined): New ast dump phase.
+ (dump_flag_name): New function.
+ * c-dump.c (dump_files): Add inlined phase.
+ (dump_flag_name): Define.
+ * doc/invoke.texi (-fdump-ast-inlined): Document.
-Thu Jun 18 14:15:07 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
+Mon Jul 2 06:29:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * pa.md (insv): Use `+' for operand 0 constraint.
+ * stor-layout.c (layout_decl): Revert change to handling of alignment
+ in packed types.
-Thu Jun 18 13:39:22 1992 Michael Meissner (meissner@osf.org)
+Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * mips.h (MIPS_VERSION): Bump Meissner version # to 20.
- (final_prescan_insn): Add declaration.
- (FINAL_PRESCAN_INSN): Just call final_prescan_insn.
- (CONST_OK_FOR_LETTER_P): Rewrite some tests, so that they will
- work on host systems with 64 bit integers.
+ * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
+ for FIELD_DECL.
- * mips.c (large_int): Rework, so that we don't get funny boundary
- conditions on systems with 64 bit integers.
- (mips_move_1word): Just use li to load constants that can be done
- with lui, instead of issuing the lui, since the GAS bug that
- generated two instructions has been fixed.
- (final_prescan_insn): Move the checking for filling the delay
- slots here from the FINAL_PRESCAN_INSN macro.
+2001-07-01 Geoffrey Keating <geoffk@redhat.com>
- * mips.md (andsi3, iorsi3, xorsi3): Make the constraints match
- the real machine (the predicate still is more general in order
- to optimize bitfields at the expense of not CSE'ing large
- constants used in logical ops, and making reload load it into
- a scratch register). Don't use $1 as a temporary register any
- more.
+ * doc/tm.texi (FUNCTION_ARG): Document that the last call
+ is special.
- * varasm.c (decode_reg_name): If `memory' return -4.
+2001-07-01 Nathan Sidwell <nathan@codesourcery.com>
- * stmt.c (expand_asm_operands): If `memory' is used as a clobbered
- register, emit a (clobber (const_int 0)) to force the compiler not
- to cache memory values in registers across the assembly
- instruction(s).
+ * tlink.c (recompile_files): Remove COMPILER_PATH and
+ LIBRARY_PATH from the environment.
- * mips-tfile.c (read_line): Semicolons within strings are not
- counted as statement separators.
+2001-07-01 Zack Weinberg <zackw@stanford.edu>
- * collect2.c (scan_prog_file, OSF/rose case): Cast pointer arguments
- to bcopy to generic * to avoid warnings.
+ * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
+ RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST
+ enumerators.
+ (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
-Thu Jun 18 12:04:53 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
+ * c-parse.in (OBJC_STRING): Kill.
+ (objc_string): Decompose to [objc_string] '@' STRING.
+ (reswords): Take the leading '@' off all the Objective-C keywords.
+ (objc_rid_sans_at): Kill.
+ (init_reswords): Don't initialize it.
+ (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
+ (_yylex): Kill reconsider label. Look ahead one token after
+ an '@'; if we get an identifier, check whether it's an
+ Objective-C @-keyword. If so, return the keyword. Otherwise,
+ put back the token and return the '@' as a terminal.
- * c++: If given -v with no file args, don't pass the libraries to
- gcc.
+ * cpplib.c (lex_macro_node): Remove unnecessary check for
+ leading '@' on identifier. Clarify control flow and commentary.
-Thu Jun 18 10:34:22 1992 Tom Wood (wood@dg-rtp.dg.com)
+Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * expr.c (expand_builtin, BUILT_IN_FSQRT): Emit queue of increment
- instructions before starting a sequence that may get thrown away.
+ * cse.c (new_label_ref): Variable deleted.
+ (insert): Remove set of new_label_ref.
+ (check_for_label_ref): New function.
+ (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
See ChangeLog.5 for earlier changes.