OSDN Git Service

* emit-rtl.c (remove_unncessary_notes): Remove notes for empty
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index edb1176..d777804 100644 (file)
@@ -1,3 +1,266 @@
+2000-02-27  Mark Mitchell  <mark@codesourcery.com>
+
+       * emit-rtl.c (remove_unncessary_notes): Remove notes for empty
+       blocks.
+       * final.c (next_block_index): Remove.
+       (max_block_depth): Likewise.
+       (pending_blocks): Likewise.
+       (init_final): Don't initialize them.
+       (final_start_function): Don't set next_block_index.  Set up
+       BLOCK_NUMBER.
+       (final_scan_insn): Use BLOCK_NUMBER, not next_block_index.
+       * function.h (number_blocks): New function.
+       * function.c (get_block_vector): New function.
+       (identify_blocks): Use it.
+       (reorder_blocks): Set NOTE_BLOCK.
+       (number_blocks): New function.
+       * tree.def (BLOCK): Add documentation for TREE_ASM_WRITTEN flag.
+       * tree.h (BLOCK_NUMBER): New macro.
+       (tree_block): Add block_num field.
+       * dbxout.c (next_block_number): Remove.
+       (dbxout_init): Don't set it.
+       (dbxout_block): Only output blocks that have TREE_ASM_WRITTEN
+       set.  Use BLOCK_NUMBER, rather than next_block_num, to determine
+       block numbers.
+       * toplev.c (rest_of_compilation): Always call
+       find_loop_tree_blocks.  Fix indentation.
+       * dwarf2out.c (next_block_number): Remove.
+       (gen_lexical_block_die): Use BLOCK_NUMBER, not next_block_number,
+       to determine block numbers.
+       (gen_inlined_subroutine_die): Likewise.
+       (gen_block_die): Only output blocks that have TREE_ASM_WRITTEN set.
+       (decls_for_scope): Don't increment next_block_number.
+       * dwarfout.c (next_block_number): Remove.
+       (output_lexical_block_die): Use BLOCK_NUMBER, not next_block_number,
+       to determine block numbers. 
+       (output_inlined_subroutine_die): Likewise.
+       (output_block): Only output blocks that have TREE_ASM_WRITTEN set.
+       (output_decls_for_scope): Don't increment next_block_number.
+       * sdbout.c (next_block_number): Remove.
+       (sdbout_block): Use BLOCK_NUMBER.
+       (sdbout_begin_block): Simplify.
+       * xcoffout.c (next_block_number): Remove.
+       (xcoffout_block): Use BLOCK_NUMBER, not next_block_number.
+       (xcoffout_begin_block): Don't set next_block_number.
+       (xcoffout_begin_function): Likewise. Use BLOCK_NUMBER, not
+       next_block_number.
+       
+Sun Feb 27 16:40:33 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * builtins.c (c_strlen): Use size_diffop and return ssizetype value.
+       (expand_builtin_strcpy): Pass correct type to size_binop.
+       (expand_builtin_strcmp): Likewise.
+       Clean up conditional structure.
+       * c-decl.c (init_decl_processing): Don't call set_sizetype twice.
+       (complete_array_type): Don't use size_binop for MAXINDEX.
+       * c-typeck.c (c_sizeof): Use size_one_node and TYPE_SIZE_UNIT.
+       (c_sizeof_nowarn, c_size_in_bytes): Likewise.
+       (c_alignof): Use size_one_node.
+       (build_unary_op): Pass arg of proper type to size_binop.
+       (really_start_incremental_init, push_init_level): Use sizetype for
+       constructor{,_bit,_unfilled}_index.
+       (pop_init_label, output_init_element): Likewise.
+       (output_pending_init_elements, process_init_element): Likewise.
+       * calls.c (compute_argument_block_size): Field VAR is ssizetype.
+       * expr.c (store_expr): Use size_int.
+       (store_constructor): Use proper types for size_binop args.
+       (get_inner_reference, expand_expr, case ARRAY_REF): Likewise.
+       (expand_expr_unaligned): Likewise.
+       (string_contant): Return object of sizetype.
+       * expr.h (SUB_PARM_SIZE): Call size_diffop and pass proper types.
+       (ARGS_SIZE_RTX): Call ARGS_SIZE_TREE.
+       (ARGS_SIZE_TREE): Pass proper types to size_binop.
+       * fold-const.c (int_const_binop): Refine when size_int is called.
+       (fold_convert): Likewise.
+       (size_int_wide): Rework to take KIND as arg, only take low order
+       bits, handle new sizetype_tab datatype, and chain entries in
+       size_table.
+       (size_int_type_wide): New function.
+       (size_binop): Validate types of arguments.
+       (ssize_binop): Deleted.
+       (size_diffop): New function.
+       (extract_muldiv): Only fold division into multiplication for sizetypes.
+       * function.c (assign_parms): Use size_diffop and make sure
+       VAR field is of ssizetype; also pass proper type to size_binop.
+       (locate_and_pad_parm, pad_to_arg_alignment): Likewise.
+       (round_down): Deleted from here.
+       * store-layout.c (sizetype_tab): Now an array.
+       (sizetype_set, early_root_list): New variables.
+       (variable_size): Use size_one_node.
+       (round_up): Pass proper type to size_binop.
+       (round_down): Moved to here and corrected as above.
+       (layout_record): Pass proper arg types to size_binop.
+       (layout_type): Likewise.
+       If sizetype_set is zero, record the type just laid out.
+       (make_unsigned_type): Don't call set_sizetype;
+       (make_signed_type): Likewise; also, call fixup_signed_type.
+       (initialize_sizetypes): New function.
+       (set_sizetype): Make copy of types, set TYPE_IS_SIZETYPE, and
+       set name of bitsizetype to "bit_size_type".
+       Fix up type of sizes of all types made before call.
+       * tm.texi (ROUND_TYPE_SIZE_UNIT): New macro.
+       * tree.c (fix_sizetype): Deleted.
+       (build_common_tree_nodes): Call initialize_sizetypes.
+       (build_common_tree_nodes_2): Don't call fix_sizetype.
+       * tree.h (TYPE_IS_SIZETYPE): New macro.
+       (initialize_sizetype): New declaration.
+       (enum size_type_kind): New type.
+       (struct sizetype_tab): Deleted.
+       (sizetype_tab): Now array; adjust sizetype macros.
+       (size_diffop, size_int_type_wide): New functions.
+       (size_int_wide): Change number of args and type; access macros changed.
+       (ssize_int, sbitsize_int): New macros.
+       * config/i960/i960.h (ROUND_TYPE_SIZE): Use size_int.
+       (ROUND_TYPE_SIZE_UNIT): New macro.
+
+2000-02-27  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * c-lex.c (putback_buffer): Make 'buffer' an unsigned char *.
+
+Sun Feb 27 07:44:17 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * gcov-io.h (__fetch_long, __store_long, __read_long, __write_long):
+       Mark as possibly unused.
+
+       * cse.c (cse_insn): Delete dead code involving tablejump.
+       Pass CODE_LABEL, not LABEL_REF to gen_jump and reset INSN_CODE.
+
+       * Makefile.in (libcpp.a): Start by deleting it.
+
+2000-02-27  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+       * cpplib.h (enum file_change_code): Added rename_file.
+       * cpplib.c (do_line): If a filename is given, set file_change to
+       rename_file.
+       (output_line_command): If file_change is rename_file, always
+       output a # directive with the file name.
+
+       * cpplib.c (do_pragma): Accept #pragma without consecutive token.
+
+2000-02-26  Mark Mitchell  <mark@codesourcery.com>
+
+       * integrate.c (copy_decl_for_inlining): Preserve TREE_ADDRESSABLE
+       when copying a PARM_DECL or RESULT_DECL.
+
+2000-02-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fix-header.c (recognized_function): Also fix prototypes for
+       functions taking "void".
+
+2000-02-26  Geoff Keating  <geoffk@cygnus.com>
+
+       * reload1.c (do_output_reload): Check reg_reloaded_valid before
+       looking at reg_reloaded_contents.
+
+2000-02-26  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * Makefile.in (STMP_FIXINC): New toggle.
+       (LIBGCC2_DEPS): Delete all references.
+       (stmp-headers): Delete target.  All references either deleted
+       or changed to stmp-int-headers.
+       (all.cross): Don't depend on stmp-headers or STMP_FIXPROTO.
+       (LIBCPP_OBJS): Take out cppalloc.o.
+       (cppalloc.o): Delete target.
+       (stmp-int-hdrs): Depend on $(STMP_FIXINC).
+       (gen-protos, fix-header): Link with libiberty.a.
+       * build-make: Don't change FIXINCLUDES.  Override STMP_FIXINC
+       to empty.
+
+       * configure.in: Remove refs to strerror.
+       * acconfig.h: Take out NEED_DECLARATION_STRERROR.
+       * system.h: Take out strerror stanza.
+
+       * cpperror.c (my_strerror): Delete function.
+       (cpp_error_from_errno, cpp_notice_from_errno): Use xstrerror.
+       * cppmain.c (main): Call xmalloc_set_program_name first thing.
+       * cppalloc.c: Delete file.
+       * gen-protos.c: Don't provide xrealloc.
+
+       * fixinc/fixincl.c, fixinc/fixlib.c, fixinc/procopen.c: Use
+       xstrerror throughout.
+
+2000-02-26  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/inclhack.def (undefine_null): the bypass pattern needs to
+       match for DOS headers, too.
+       * fixinc/inclhack.sh,fixincl.x: Regenerate.
+
+2000-02-26  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/elfos.h (ASM_OUTPUT_LABELREF): Don't define.  The default
+       is right for most ELF targets.
+       * config/ns32k/ns32k.h (ASM_OUTPUT_LABELREF): Don't define.
+       Let the default file use %U properly.
+       * config/sh/elf.h (ASM_OUTPUT_LABELREF): Don't define.  Use the
+       default.
+
+       * config/fp-bit.c (pack_d): Properly handle rounding of denormal
+       numbers.
+
+Sat Feb 26 09:39:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * toplev.c (documented_lang_options): Correct spelling error.
+       (decode_d_option, decode_f_option, main): Likewise.
+
+       * toplev.c (print_time): Avoid SIGFPE when all_time is zero.
+
+       * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Use .set at
+       to tell assembler it is permitted to expand large constants.
+
+2000-02-25  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * protoize.c: (AUX_INFO_SUFFIX): New macro.
+       (aux_info_suffix): Use.
+       (SAVE_SUFFIX): New macro.
+       (save_suffix): Use.
+       (munge_compile_parms): Fix typo in NUL. DJGPP supports /dev/null.
+       (gen_aux_info_file): Use aux_info_suffix instead of ".X".
+       (edit_file): Handle 8.3 restriction for DOS/DJGPP filenames.
+
+       * invoke.texi (Running Protoize): Update documentation.
+
+2000-02-25 Mark Elbrecht <snowball3@bigfoot.com>
+
+       * i386/djgpp.h (CPP_PREDEFINES): Remove Unix defines.
+
+2000-02-25  John Wehle  (john@feith.com)
+
+       * rtlanal.c (find_last_value): Allow NULL_RTX for valid_to.
+
+2000-02-25  Anthony Green  <green@cygnus.com>
+
+       * toplev.c (rest_of_compilation): Rebuild jump labels if
+       combine_instructions has created a new direct jump.
+       * combine.c (try_combine): Add new_direct_jump_p argument.  Set it
+       when appropriate.
+       (combine_instructions): Call try_combine with new argument.
+       Return non-null value when new direct jump instruction is created.
+       * rtl.h: combine_instructions returns an int.
+
+Fri Feb 25 19:49:08 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * cse.c (cse_insn): Replace the PATTERN of the insn with an new
+       jump when changing a computed jump into a jump to a known
+       target.
+
+Fri Feb 25 19:22:44 2000  Graham Stott <grahams@rcp.co.uk>
+
+       * resource.c (mark_referenced_resources): Changed use SET_DEST (...)
+       to XEXP (..., 0) on RTL nodes which are not SET or CLOBBER.
+
+       * i386.md (define_expand "clrstrsi"): Fix typo.
+
+Fri Feb 25 18:49:39 2000  "K. Richard Pixley" <rich@microunity.com>
+
+       * rtl.texi: Fix typo.
+
+Fri Feb 25 20:02:35 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.c (calc_live_regs): Multiply value assigned to *COUNT_PTR by
+       UNITS_PER_WORD.  Change caller initial_elimination_offset.
+       (rounded_frame_size): Take into account that argument pushed has
+       changed.  Fix TARGET_ALIGN_DOUBLE problem.
+
 2000-02-25  Geoff Keating  <geoffk@cygnus.com>
 
        * haifa-sched.c (schedule_block): Explain the real reason
@@ -79,12 +342,12 @@ Thu Feb 24 20:04:11 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
 
 Wed Feb 23 16:42:21 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-       * final.c (shorten_branches): Make value passed to LABEL_ALIGN
+       * final.c (shorten_branches): Make value passed to LOOP_ALIGN
        conform to documentation.
-       * sh.h (LABEL_ALIGN): If aligning loops, call sh_label_align
+       * sh.h (LOOP_ALIGN): If aligning loops, call sh_loop_align
        to check for special cases.
-       * sh-protos.h (sh_label_align): Declare.
-       * sh.c (sh_label_align): Define.
+       * sh-protos.h (sh_loop_align): Declare.
+       * sh.c (sh_loop_align): Define.
 
 2000-02-22  Andrew Haley  <aph@cygnus.com>