OSDN Git Service

* toplev.c (display_help): Prefix "f" to "sched-verbose=".
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 23625fe..e08f5e8 100644 (file)
@@ -1,3 +1,511 @@
+2000-04-15  David Edelsohn  <edelsohn@gnu.org>
+
+       * toplev.c (display_help): Prefix "f" to "sched-verbose=".
+       * haifa-sched.c: Update -fsched-verbose comments to use "=".
+
+Sat Apr 15 10:59:19 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * Makefile.in (ggc-page.o): Now includes toplev.h.
+       * ggc-page.c (toplev.h): Now included.
+       (gc_time): Remove declaration.
+       (ggc_collect): TIME now long.
+       * toplev.c (parse_time, varasm_time, gc_time): Still global; all
+       others static.
+       * toplev.h (gc_time, parse_time, gc_time): New declarations.
+
+       * toplev.c: Make *_time variable long to reduce chance of overflow.
+       (TIMEVAR): Likewise for `otime'.
+       (print_time): Arg is now long; compute percentage in FP and round.
+       * toplev.h (print_time): Arg is long.
+
+       * tree.c: Minor whitespace changes.
+
+       * configure.in (alpha*-*-*): Add config/alpha/t-alpha.
+       * configure: Rebuilt.
+       * libgcc2.c (__fixunstfDI): Renamed from __fixunstfdi.
+       (__fixunsxfDI): Renamed from __fixunsxfdi.
+       (__fixunsdfDI): Renamed from __fixunsdfdi.
+       (__fixunssfDI): Renamed from __fixunssfdi.
+       (__floatdisf): Use proper type in REP_BIT macro.
+       (__fixunsxfSI): Renamed from __fixunsxfsi.
+       (__fixunsdfSI): Renamed from __fixunsdfsi.
+       (__fixunssfSI): Renamed from __fixunssfsi.
+       * libgcc2.h: Add cases for MIN_UNITS_PER_WORD > 4.
+       Change location of macros and upper-case some names as above.
+       * longlong.h ([alpha]): Use PARAMS, not __P in decl of __udiv__qrnnd.
+       * config/alpha/t-alpha, config/alpha/qrnnd.asm: New files.
+
+       * varasm.c (assemble_variable): Add cast to remove warning.
+       (immed_real_const_1): Only use CONST[01]_RTX if not in nested function.
+
+       * flow.c (count_basic_blocks, find_basic_blocks_1): Remove last change.
+       * optabs.c (emit_libcall_block): If have REG_EH_REGION, update
+       region number to -1.
+
+2000-04-15  Richard Earnshaw (rearnsah@arm.com)
+
+       * emit-rtl.c (unshare_all_rtl_again): Unmark everything, then
+       call unshare_all_rtl.
+
+       * arm.md (movhi): REGNO_POINTER_ALIGN is now bits.
+
+Fri Apr 14 16:58:45 2000  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/lib1funcs.asm (__divdi3, __moddi3, __udivdi3, __umoddi3):
+       Use .s1 not .s0 for all FP instructions.
+
+2000-04-14  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplex.c (cpp_output_tokens, cpp_scan_buffer_nooutput): New public
+       interfaces.
+       (safe_fwrite, output_line_command): New static functions.
+       (cpp_expand_to_buffer): Now private to cpplib.
+       (cpp_scan_buffer): Take a printer.
+
+       * cpphash.h: Update prototypes.
+       * cpplib.h: Update prototypes.
+       (cpp_printer): New.
+       (cpp_buffer): Remove last_nominal_fname.
+       (cpp_reader): Remove lineno.
+
+       * cppmain.c: Use a cpp_printer.
+       * fix-header.c: No need to inhibit line commands.  Call
+       cpp_start_read with no printer.
+
+       * cpperror.c (cpp_notice_from_errno): Provide default name.
+       * cppfiles.c (make_IHASH, _cpp_fake_ihash): New functions.
+       (find_include_file, cpp_read_file): Use make_IHASH.
+       (file_cleanup): Set control_macro and clear
+       input_stack_listing_current here.
+       (_cpp_execute_include): Don't output entering-file marker.
+       * cpphash.c (special_symbol): Look for the line number in the
+       buffer, not the reader.
+       (_cpp_macroexpand): No need to disable line commands.
+       (_cpp_dump_definition): No need to generate line commands.
+       (dump_hash_helper): Remove excess newline from output.
+       * cppinit.c (dump_special_to_buffer): No need to generate line
+       commands.
+       (cpp_printer_init): New.
+       (cpp_start_read): Take a printer, and start it up if it's not
+       NULL.  No need to generate line commands.
+       (cpp_finish): Expect no buffers stacked at all.  Take a
+       printer argument, and flush the output buffer if it's not
+       NULL.
+       * cpplex.c (_cpp_lex_token): Return EOF if there's no buffer.
+       Don't put two hashes at the beginning of an assertion.
+       (cpp_get_token): Don't increment pfile->lineno or emit line
+       commands here.  Return EOF if there's no buffer when we get
+       EOF.
+       * cpplib.c (do_define, skip_if_group): 
+       No need to disable line commands.
+       (_cpp_output_line_command): Delete function.
+       (do_line): Don't emit line commands here, but set things up so
+       they will be emitted if necessary.  Use _cpp_fake_ihash to
+       make unique nominal_fnames if necessary.
+       (do_elif, do_else, _cpp_handle_eof): Call cpp_error_with_line
+       with 0 for column, not -1.
+       (_cpp_handle_eof): Don't set the control macro here.  Don't
+       clear input_stack_listing_current here.  Don't emit line
+       commands.
+
+2000-04-14  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/sysv4.h (LINK_START_SOLARIS_SPEC): Define to empty
+       always, use the default SVR4 start address.
+
+       * config/rs6000/linux.h (LINK_SPEC): Don't define.
+       (LINK_SHLIB_SPEC): Define.
+       (LINK_START_DEFAULT_SPEC): Define.
+       (LINK_OS_DEFAULT_SPEC): Define.
+
+       * config/rs6000/sysv4.h (ENDFILE_SPEC): Use the %(endfile_*) macros.
+
+       * config/rs6000/eabi.asm (__eabi): Call __init rather than 
+       __do_global_ctors to handle constructors.
+       * config/rs6000/sysv4.h (STARTFILE_ADS_SPEC): Use crtbegin.
+       (STARTFILE_YELLOWKNIFE_SPEC): Likewise.
+       (STARTFILE_MVME_SPEC): Likewise.
+       (STARTFILE_SIM_SPEC): Likewise.
+       (ENDFILE_ADS_SPEC): Use crtend.
+       (ENDFILE_YELLOWKNIFE_SPEC): Likewise.
+       (ENDFILE_MVME_SPEC): Likewise.
+       (ENDFILE_SIM_SPEC): Likewise.
+       (STARTFILE_SOLARIS_SPEC): Use crtbegin/crtbeginS.
+       (ENDFILE_SOLARIS_SPEC): Use crtend/crtendS.
+       (STARTFILE_LINUX_SPEC): Use crtbeginS for shared objects.
+       (ENDFILE_LINUX_SPEC): Use crtendS for shared objects.
+       * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Don't build eabi-ctors.o.
+       (EXTRA_MULTILIB_PARTS): Build crtbeginS/crtendS.
+       (CRTSTUFF_T_CFLAGS_S): Define.
+       * config/rs6000/eabi-ctors.c: Delete.
+       
+       * config/rs6000/eabi-ci.asm (__init): Align stack to 16-byte
+       boundary.
+       (__fini): Likewise.
+       * config/rs6000/eabi-cn.asm (__init): Allow for 16-byte stack frame.
+       boundary.
+       (__fini): Likewise.
+
+Fri Apr 14 16:09:02 2000  Jim Wilson  <wilson@cygnus.com>
+
+       * combine.c (force_to_mode, case LSHIFTRT): Check that shift shift
+       plus mask size is smaller or equal to the mode size.
+
+Fri Apr 14 18:07:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * print-rtl.c (print_rtx, case NOTE): Don't blow up if NOTE_BASIC_BLOCK
+       not yet set.
+
+       * expr.c (reload.h): Now included.
+       (emit_block_move): Set volatile_ok when checking for movstr.
+       (emit_move_1): Check for replacements in addresses in multi-word case.
+       * Makefile.in (expr.o): Now includes reload.h.
+
+       * flow.c (count_basic_blocks): Remove unused var PREV_CALL.
+       Never have a LIBCALL end a basic block.
+       (find_basic_blocks_1): Likewise.
+       Reorganize CALL_INSN cases.
+
+       * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Revert last change.
+
+Fri Apr 14 10:54:22 2000  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Drop obsolete
+       completers from mov.ret instruction.
+
+2000-04-14  Richard Henderson  <rth@cygnus.com>
+
+        * fold-const.c (extract_muldiv): Don't distribute and widen
+        multiply across plus for non-sizetype unsigned types.
+
+2000-04-14  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (find_auto_inc): Don't autoinc eliminable registers.
+       If the original source is dead in the incr insn, it's dead now.
+
+Fri Apr 14 07:40:32 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to
+       see if DECL_BIT_FIELD needs to still be set.
+
+       * tree.h (struct tree_type): Make PRECISION 9 bits and MODE 7.
+
+       * dbxout.c (dbxout_type, case INTEGER_TYPE): Don't call
+       print_int_cst_octal with something that's not an INTEGER_CST.
+
+       * config/alpha/alpha.c (alpha_emit_floatuns): Ensure we pass a REG
+       and not a SUBREG to a FLOAT rtl.
+
+Thu Apr 13 19:39:56 2000  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * emit-rtl.c (try_split): Avoid infinite loop if the split
+       results in a sequence that contains the original insn.
+
+2000-04-13  Andreas Jaeger  <aj@suse.de>
+
+       * config/mips/mips.c (expand_block_move): Pass alignment
+        argument to move_by_pieces in bits, not bytes.
+
+       * config/mips/linux.h (CPP_PREDEFINES): Also define __PIC__ and
+       __pic__ for little endian.
+
+2000-04-13  Andreas Jaeger  <aj@suse.de>
+
+       * config/i386/i386-protos.h: Add prototype for
+       uno_comparison_operator.
+
+Thu Apr 13 15:55:08 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * alias.c (nonlocal_reference_p): Take care of CALL_INSNS's fusage.
+       * calls.c (ECF_PURE): New flag.
+       (emit_call_1): Handle ECF_PURE calls.
+       (initialize_argument_information): Unset ECF_PURE flag too.
+       (precompute_arguments): Precompute for ECF_PURE too.
+       (expand_call): Handle ECF_PURE calls too.
+       (emit_library_call_value_1): Rename no_queue argument to fn_type,
+       accept value of 2 as pure function.
+       (emit_library_call_value, emit_library_call): Rename no_queue argument
+       to fn_type.
+       * optabs.c (prepare_cmp_insn): Pass fn_type 2 to memcmp call.
+
+       * tree.h (DECL_IS_PURE): New macro.
+       (struct tree_decl): Add pure_flag.
+       * c-common.c (enum attrs): Add attribute "pure".
+       (init_attributes): Initialize attribute "pure"
+       (decl_attributes): Handle attribute "pure".
+       * extend.texi (Attribute "pure"): Document.
+       * calls.c (expand_call): Add (mem:BLK (scratch)) to "equal from"
+       in pure function.
+       (flags_from_decl_or_type): Support attribute "pure".
+
+2000-04-13  Jason Merrill  <jason@casey.cygnus.com>
+
+       * cpplex.c (_cpp_lex_token): Handle digraphs.  Don't null-terminate
+       the token except for numbers and identifiers.
+
+Thu Apr 13 00:09:16 EDT 2000  John Wehle  (john@feith.com)
+
+       * i386.c (ix86_expand_binary_operator,
+       ix86_expand_unary_operator): Check no_new_pseudos
+       instead of reload_in_progress and reload_completed.
+       (ix86_split_ashldi, ix86_split_ashrdi,
+       ix86_split_lshrdi): Check no_new_pseudos instead
+       of reload_completed.
+
+2000-04-12  Jeffrey A Law  (law@cygnus.com)
+
+       * function.c (purge_addressof): Unshare any shared rtl created by
+       purge_addressof and its children.
+
+2000-04-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * function.c (aggregate_value_p): VOID_TYPE nodes are never
+       aggregates.
+
+2000-04-05  Andreas Jaeger  <aj@suse.de>
+
+       * config/mips/linux.h (SUBTARGET_ASM_SPEC): Use proper flags if
+       not compiling PIC code, add flags for mabi=64.
+       (SUBTARGET_CPP_SIZE_SPEC): New.
+       (SUBTARGET_CPP_SPEC): New.
+       (CPP_PREDEFINES): Define __PIC__ and __pic__.  PIC code is default
+       for MIPS/Linux and lots of code needs these defines.
+
+Wed Apr 12 22:44:11 2000  Hans-Peter Nilsson  <hp@axis.com>
+
+       * reorg.c (fill_slots_from_thread): Check side_effects_p when
+       trying the "opposite arithmetic" approach.
+
+Wed Apr 12 20:51:20 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.h (STRUCT_VALUE): Just 0 for TARGET_HITACHI.
+       (struct sh_args): Add new field force_mem.
+       (INIT_CUMULATIVE_ARGS): Initialize it.
+       (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Act on it.
+
+Wed Apr 12 17:20:41 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * calls.c (expand_call): Do not reverse args in "equal from" field.
+       (emit_library_call_value_1): Emit_libcall_block for const and pure
+       function.
+
+Wed Apr 12 16:00:25 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * reload1.c (reload_combine): Don't enable optimization for fixed
+       registers when encountering a BARRIER.
+
+Wed Apr 12 15:54:11 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * builtins.c (expand_builtin_memcmp): Do expansion even with
+       !HAVE_cmpstrsi, do libcall when gen_strcmpsi fails.
+
+       * calls.c (expand_call): Do NO_DEFER_POP unconditionally once
+       stack is propertly aligned; add sanity checking for aligned
+       stack pointer.
+       (expand_library_call_value_1): Add sanity checking for aligned
+       stack pointer.
+
+Wed Apr 12 07:51:54 2000  Catherine Moore  <clm@cygnus.com>
+        * calls.c (emit_library_call_value_1): Change 3rd arg to
+        locate_and_pad_parm to disregard the setting of partial.
+
+Wed Apr 12 08:47:38 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * tree.c (unsave_expr_now_r, unsafe_for_reeval): Properly do TREE_LIST.
+
+       * print-rtl.c (print_rtx): For CALL_PLACEHOLDER, output the
+       CALL_INSN from the normal case.
+
+Fri Apr  7 12:23:04 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8):
+       New global variables.
+       (ix86_emit_epilogue_adjustment): Do not attempt to use pop for the
+       adjustment.
+       * i386.h (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8):
+       Declare,
+       (TARGET_SUB_ESP_4, TARGET_SUB_ESP_8, TARGET_ADD_ESP_4,
+        TARGET_ADD_ESP_8): New macros.
+       * i386.md: Add peep2s to convert esp adjustments to push and pop
+       instructions.
+       (pushsi_prologue, popsi_epilogue): New patterns.
+
+2000-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * real.c (toe64): Remove stale #endif from the last change.
+
+2000-04-12  Stephen L Moshier  <moshier@mediaone.net>
+
+       * real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Comment.
+       * real.c (toe64): Revert previous change.
+
+2000-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * objc/objc-act.c: Include ggc.h.
+       (objc_tree_index, objc_global_trees): Convert most of the
+       static tree variables into a static array with previous names
+       as defines.
+       (objc_ellipsis_node): New variable.
+       (lang_init): Call objc_act_parse_init and c_parse_init.
+       Create objc_ellipsis_node.
+       (build_selector_translation_table): Use objc_ellipsis_node instead
+       of (tree)1.
+       (hack_method_prototype): Likewise.
+       (get_arg_type_list): Likewise.
+       (start_method_def): Likewise.
+       (continue_method_def): Likewise.
+       (gen_method_decl): Likewise.
+       (ggc_mark_imp_list): New function.
+       (ggc_mark_hash_table): New function.
+       (objc_act_parse_init): New function.
+       * objc/objc-act.h (objc_ellipsis_node): Add extern variable.
+       * c-parse.in (c_parse_init): For objc add roots of objc specific
+       local tree variables.
+       * objc/objc-parse.y: Rebuilt.
+       * objc/objc-parse.c: Rebuilt.
+       (opt_parm_list): Use objc_ellipsis_node instead of (tree)1.
+
+Wed Apr 12 01:00:44 EDT 2000  John Wehle  (john@feith.com)
+
+       * cse.c (delete_trivially_dead_insns): Also delete insns
+       that copy a register to itself where the destination is
+       a strict_low_part.
+
+2000-04-11  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (struct propagate_block_info): Add new_dead, new_live.
+       (propagate_block): Initialize them.  Use them in parallel instead
+       of one tmp variable, ie revert much of the 0408 and 0407 functional
+       changes, but keep the structural changes.
+       (mark_set_regs): Take new_dead from propagate_block_info instead.
+       (mark_set_1, mark_set_reg): Likewise.
+       (mark_used_regs): Likewise with new_live.
+       (mark_used_reg): Likewise.  Revert 0408 change.
+
+2000-04-11  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.h: (INCOMING_RETURN_ADDR_RTX): Remove Dwarf2
+       restriction.
+       (DWARF_FRAME_RETURN_COLUMN): Remove Dwarf2 restriction.
+
+2000-04-11  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+       * config/elfos.h (SELECT_SECTION): Decide whether to use a data or
+       const section to output a CONSTRUCTOR based on the same conditions
+       used for VAR_DECLs.
+
+Tue Apr 11 09:55:59 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * pa/long-double.h (FIX_TRUNCTFSI2_LIBCALL): Tweak for PA64.
+       * pa/pa-protos.h (output_call): Add additional argument indicating
+       if the call is a sibling/tail call.
+       (compute_zdepdi_operands, output_64bit_and): Prototype new functions.
+       (compute_64bit_ior, cmpib_comparison_operator): Likewise.
+       (function_arg, function_arg_partial_nregs): Likewise
+       * pa/pa.c (override_options): Always set flag_pic for TARGET_64BIT.
+       (emit_move_sequence): Zero extend certain constants as needed
+       for TARGET_64BIT.
+       (compute_zdepdi_operands, output_64bit_and): New functions.
+       (output_64bit_ior, function_arg): Likewise.
+       (cmpib_comparison_operator, function_arg_partial_nregs): Likewise.
+       (compute_frame_size, hppa_expand_prologue): Handle TARGET_64BIT.
+       (hppa_expand_epilogue, return_addr_rtx, hppa_va_arg): Likewise.
+       (hppa_builtin_saveregs, output_cbranch, output_bb): Likewise.
+       (output_bvb): Likewise.
+       (output_millicode_call): Return pointer is in %r2 for TARGET_64BIT.
+       (output_call): New argument 'sibcall'.  Generate sibcall sequences
+       as needed.
+       (print_operand); Handle cases 'Q', 'p', and 'z' for TARGET_64BIT.  For
+       (ouput_arg_descriptor): Do not emit argument descriptors for
+       TARGET_64BIT.
+       * pa/pa.h (TARGET_PA_11, TARGET_PA_20): Only define if not already
+       defined.
+       (TARGET_64BIT, PROMOTE_FUNCTION_RETURN): Define.
+       (FUNCTION_OK_FOR_SIBALL): Define.
+       (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC): Define.
+       (CPP_CPU_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS, EXTRA_SPECS): Likewise.
+       (CPP_SPEC): Use new spec infrastructure.
+       (BITS_PER_WORD, UNITS_PER_WORD): Handle TARGET_64BIT.
+       (STACK_BOUNDARY, FUNCTION_BOUNDARY, PIC_OFFSET_TABLE_REGNUM): Likewise.
+       (RETURN_IN_MEMORY, EXTRA_CONSTRAINT, FIRST_PARM_OFFSET): Likewise.
+       (REG_PARM_STACK_SPACE, STACK_POINTER_OFFSET): Likewise.
+       (STACK_DYNAMIC_OFFSET, FUNCTION_VALUE): Likewise.
+       (FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_CALLEE_COPIES): Likewise.
+       (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
+       (INITIALIZE_TRAMPOLINE, LEGITIMATE_CONSTANT_P): Likewise.
+       (CONST_OK_FOR_LETTER_P, MOVE_RATIO): Likewise.
+       (FUNCTION_ARG); Call out to C code.
+       (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
+       (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Define.
+       (MIN_UNITS_PER_WORD): Likewise.
+       * pa/pa.md (cmpdi): New expander.
+       (scc patterns, movstrsi): Not available for TARGET_64BIT.
+       (64bit conditional arithmetic): New patterns.
+       (absdi2, smindi3, umindi3, smaxdi3, umaxdi3): New patterns.
+       (movsicc): Not available if modes on all the operands to not match.     
+       (movdicc): New expander and associated patterns.
+       (64bit branches): New patterns.
+       (pre_load, post_store): Generate appropriate code for TARGET_64BIT.
+       (pre_ldd, post_std): New patterns.
+       (64bit addil, load low part): New patterns.
+       (special movsf constant): Not available for TARGET_64BIT.
+       (movsf, movdf expanders): Force constants into memory.
+       (32bit movdf/movdi patterns): Disable for TARGET_64BIT.
+       (64bit movdf/movdi patterns): New patterns.
+       (zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New patterns
+       for TARGET_64BIT.
+       (extendqidi2, extendhidi2, extendsidi2): Similarly.
+       (adddi3 expander): Allow "arith_operand" for second input.
+       (32bit adddi3, subdi3, uaddcm): Disable for TARGET_64BIT.
+       (64bit adddi3, subsi3, uaddcm): New patterns for TARGET_64BIT.
+       (mulsi3 expander): Revamp slightly so it supports TARGET_64BIT too.
+       (muldi3): New expander for TARGET_64BIT.
+       (divsi3, udivsi3, modsi3, umodsi3): Fourth operand must be (reg:SI 2)
+       for TARGET_64BIT.
+       (32bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm): Disable
+       patterns for TARGET_64BIT.
+       (64bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm, shadd): New
+       patterns for TARGET_64BIT.
+       (64bit bit insertion/extractions): New patterns for TARGET_64BIT.
+       (64bit shifts/rotates): New patterns/expanders for TARGET_64BIT.
+       (sibcall_epilogue): New expander.
+       (casesi): Tweak for TARGET_64BIT.
+       (call expanders): Set & use the outgoing argument pointer.  Use the
+       64bit call patterns as needed. Add additional arg to output_call.
+       (call_internal_reg_64bit, call_value_internal_reg_64bit): New pattern.
+       (sibcall, sibcall_internal_symref): New expanders.
+       (sibcall_value, sibcall_value_internal_symref
+       (interspace_jump): Turn into an expander + matching patterns.
+       (canonicalize_funcptr_for_compare): Not needed for TARGET_64BIT.
+       * pa/pa64-regs.h: Eliminate trigraph sequences.
+       * pa/pa64-start.h (TARGET_PA_20): Fix typo.
+
+2000-04-11  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cppexp.c, cpphash.c, cpphash.h, cpplex.c, cpplib.c,
+       cpplib.h, cppmain.c, fix-header.c, scan-decls.c: Replace
+       cpp_token with cpp_ttype everywhere.
+       * cpperror.c, cpphash.c, cpplex.c, cpplib.c, scan-decls.c:
+       Replace cpp_buf_line_and_col with CPP_BUF_LINE and/or
+       CPP_BUF_COL.  Line and column numbers are unsigned int, not
+       long.
+       * cpplex.c (cpp_buf_line_and_col): Delete.
+       * cpplib.h (struct cpp_buffer, struct cpp_reader): Change
+       'long lineno' to 'unsigned int lineno'.
+       (CPP_BUF_LINE, CPP_BUF_COL): New macros.
+
+2000-04-11  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+
+       * extend.texi: ISO C99 is not a draft anymore.
+       * invoke.texi: ISO C++ is not a draft anymore.
+       * cpp.texi: __cplusplus is required by the ISO standard.
+
+       * extend.texi (-fthis-is-variable): Undocument.
+       * flags.h (warn_template_debugging): Remove declaration.
+       * gcc.1 (-fall-virtual, -fenum-int-equiv, -fthis-is-variable,
+       -Wenum-clash, -Wtemplate-debugging): Undocument.
+
 2000-04-10  Nick Clifton  <nickc@cygnus.com>
 
        * config/arm/arm.h (HOST_INT): New macro: Declare a HOST_WIDE_INT
@@ -32,6 +540,52 @@ Mon Apr 10 15:40:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        Recomment.
        * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Recomment.
 
+Mon Apr 10 07:21:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * sbitmap.h: Whitespace changes and use upper-case macro args.
+       (struct simple_bitmap_def): All sizes now unsigned.
+       (EXECUTE_IF_SET_IN_SBITMAP): Internal vars now _X instead of X_.
+       * sbitmap.c (sbitmap_alloc): N_ELMS now unsigned; also local vars.
+       (sbitmap_vector_alloc): Parms and local vars now unsigned.
+       (sbitmap_zero): Cast bzero arg to PTR.
+       (sbitmap_vector_zero, sbitmap_vector_one): Parm and Local var unsigned.
+       (sbitmap_union_of_diffs): Change loop index to unsigned and rework
+       loop to make structure clearer.
+       (sbitmap_not, sbitmap_difference, sbitmap_a_and_b): Likewise.
+       (sbitmap_a_or_b, sbitmap_a_subset_b_p, sbitmap_a_or_b_and_c): Likewise.
+       (sbitmap_a_and_b_or_c): Likewise.
+       (sbitmap_intersection_of_succs): Minor cleanups.
+       (sbitmap_intersection_of_preds, sbitmap_union_of_succs): Likewise.
+       (sbitmap_union_of_preds): Likewise.
+       (sbitmap_first_set_bit, dump_sbitmap): Local variables now unsigned.
+       (debug_sbitmap): New function.
+       
+       * c-convert.c (convert): Handle REFERENCE_TYPE like POINTER_TYPE.
+       * c-typeck.c (convert_for_assignment): Likewise.
+
+       * expmed.c (init_expmed): Don't free objects we make.
+       * emit-rtl.c (gen_rtx_CONST_INT, init_emit_once): Minor cleanups.
+
+       * expr.c (get_inner_reference): Correct some WITH_RECORD_EXPR cases.
+       (expand_expr, case CONVERT_EXPR): Pass proper alignment to store_field.
+
+       * gcse.c (expr_hash_table_size): Now unsigned.
+       (compute_ae_gen): Local variable `i' now unsigned.
+       (compute_ae_kill, pre_insert_copies, pre_delete, pre_gcse): Likewise.
+       (compute_transout, hoist_code): Likewise.
+       (compute_local_properties): Likewise, also hash_table_size.
+       (alloc_expr_hash_table): N_INSNS now unsigned.
+       (delete_null_pointer_checks): Mark arg F as unused.
+
+       * regrename.c: Minor cleanups, including chang some variables
+       to unsigned int.
+
+2000-04-10  Neil Booth  <NeilB@earthling.net>
+
+       * cpplex.c (skip_block_comment): Use pointer arithmetic rather
+       than GETC ().
+       * cpphash.h: (CPP_BUMP_BUFFER_LINE_CUR, CPP_BUMP_LINE_CUR): New.
+
 2000-04-10  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
 
        * invoke.texi (-fno-gnu-keywords): Remove classof, headof,
@@ -24282,3 +24836,5 @@ Wed May 19 00:34:40 1999  Jeffrey A Law  (law@cygnus.com)
        gcc-2.95 branch.
 
 See ChangeLog.1 for earlier changes.
+
+