OSDN Git Service

2000-10-06 David O'Brien <obrien@FreeBSD.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a0aae79..e4dc2ea 100644 (file)
@@ -1,3 +1,307 @@
+2000-10-06  David O'Brien  <obrien@FreeBSD.org>
+
+       * config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an
+       #undef.
+
+2000-10-06  Richard Henderson  <rth@cygnus.com>
+
+       * function.c (diddle_return_value): Examine
+       current_function_return_rtx instead of the DECL_RESULT.
+       (expand_function_end): Handle reloading DECL_RESULT from memory
+       into a hard register.  Query promote_mode for sign of mismatched
+       modes.
+
+2000-10-06  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
+
+       * haifa-sched.c (schedule_insns): Fix typo in freeing
+       forward_dependency_cache.
+
+2000-10-06  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add
+       `TARGET_SH2' as a condition.
+
+2000-10-06  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
+
+       * haifa-sched.c (anti_dependency_cache, output_dependency_cache,
+       forward_dependency_cache): New variables.
+       (add_dependence, remove_dependence): Use anti_dependency_cache and
+       output_dependency_cache.
+       (compute_block_forward_dependences): Use forward_dependency_cache.
+       (schedule_insns): Allocate and free memory for anti/output/forward
+       dependencies caches.
+       
+2000-10-06  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
+       `! TARGET_SH1'.  Reindent.
+
+2000-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (is_valid_printf_arglist, expand_builtin_printf):
+       Move functions from here ...
+
+       * c-common.c (is_valid_printf_arglist, c_expand_builtin_printf):
+       ... to here.
+       (c_expand_builtin): New function.
+       (init_function_format_info): Don't set `check_function_format_ptr'.
+       (c_common_nodes_and_builtins): Set built_in_class type for
+       printf/__builtin_printf to BUILT_IN_FRONTEND.
+       (c_expand_expr): Handle CALL_EXPRs that are front-end builtins.
+
+       * c-common.h (build_function_call): Declare.
+
+       * expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND
+       to `lang_expand_expr' rather than `expand_builtin'.
+
+       * tree.c (check_function_format_ptr): Delete.
+
+       * tree.h (check_function_format_ptr): Likewise.
+
+2000-10-06  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or
+       DW_OP_bregx when cfa->reg > 31.
+
+       * frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing
+       break.
+
+2000-10-05  Richard Henderson  <rth@cygnus.com>
+
+       * c-decl.c (warn_missing_noreturn): Remove.
+       (c_expand_body): Don't set or check can_reach_end.
+       * c-tree.h (warn_missing_noreturn): Move ...
+       * flags.h: ... here.
+       (can_reach_end): Remove.
+       * flow.c (check_function_return_warnings): New.
+       (make_edges): No edge to exit for noreturn sibcalls.
+       * function.c (expand_function_end): Save the return value
+       clobber instruction.
+       (mark_function_status): Mark it.
+       * function.h (struct function): Add x_clobber_return_insn.
+       * jump.c (can_reach_end): Remove.
+       (calculate_can_reach_end): Remove.
+       (jump_optimize_1): Don't call it.
+       * output.h (check_function_return_warnings): Declare.
+       * toplev.c (warn_missing_noreturn): Move from c-decl.c
+       (rest_of_compilation): Call check_function_return_warnings.
+
+2000-10-05  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (NM_FOR_TARGET): New.
+       (libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES.
+       (libgcc.a, stmp-multilib): Pass NM_FOR_TARGET.
+       * mklibgcc.in: If SHLIB_MKMAP, build libgcc.map.  Depend the
+       shared library build on that and EXTRA_MULTILIB_PARTS.
+       * mkmap-flat.awk: New file.
+       * mkmap-symver.awk: New file.
+       * libgcc-std.ver: New file.
+       * config/libgcc-glibc.ver: New file.
+       * config/ia64/libgcc-ia64.ver: New file.
+       * config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+       (SHLIB_LINK): Add --version-script.
+       * config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver.
+       * config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+       * config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+       (SHLIB_LINK): Add -M.
+
+2000-10-05  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (LIB2FUNCS): Add _clz.
+       * libgcc2.c (__ffsdi2): Use count_trailing_zeros.
+       (__clz_tab): Put in its own unit, non-static.
+       * libgcc2.h: Always include longlong.h.
+
+       * longlong.h [alpha] (count_leading_zeros): Use cmpbge with
+       a zero instead of -1.
+       (count_trailing_zeros): Likewise.
+
+2000-10-05  Richard Henderson  <rth@cygnus.com>
+
+       * config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests
+       when second op1 is const0_rtx.  Validate op0 as a register.
+       * config/alpha/alpha.md (setcc_internal): Don't allow constants
+       in the first argument of the compare.
+       (setcc_swapped_internal): Likewise.
+       (setne_internal): Likewise.
+
+2000-10-05  Geoff Keating  <geoffk@cygnus.com>
+
+       * tree.c (tree_size): New function split out of copy_node.
+       (make_node): Remove obstack handling.  Use tree_size.
+       (copy_node): Use tree_size.
+       * tree.h: Prototype tree_size.
+
+2000-10-05  Richard Henderson  <rth@cygnus.com>
+
+       * diagnostic.c (output_format): Add missing break.
+
+2000-10-05  Jim Wilson  <wilson@cygnus.com>
+
+       * function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a
+       SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last
+       sequence insn to INSN, and delete last sequence insn.
+
+2000-10-05  Phil Edwards  <pme@gcc.gnu.org>
+
+       * gcc.c (main): Include generated configargs.h header
+       and use arguments in '-v' output.
+
+Thu Oct  5 16:16:57 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * gcc.c: Move data on prefixes forward in file and reorganize.
+       (md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1):
+       Always define, but make null if no value.
+       (static_specs): Add "md_exec_prefix", "md_startfile_prefix",
+       and "md_startfile_prefix_1".
+       (main): Check whether md_exec_prefix and the others are the
+       null string rather than whether the macro is defined.
+
+Thu Oct  5 19:04:18 2000  J"orn Rennecke <amylaar@redhat.co.uk>
+
+       * (convert_move): Use zero_extendpsisi2 to do an unsigned extension
+       from PSImode to SImode.
+
+2000-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion
+       from float to integral mode with HOST_BITS_PER_WIDE_INT 64.
+       * dwarf2out.c (add_const_value_attribute): Divide by 4, not
+       sizeof(long).
+
+Thu Oct  5 09:31:31 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform
+       negation in proper type.a
+
+2000-10-04  Richard Henderson  <rth@cygnus.com>
+
+       * configure.in (enable-shared): New.
+       * Makefile.in (LIBGCC_DEPS): Depend on EXTRA_PARTS as well.
+       (libgcc.mk): Pass SHLIB_LINK, SHLIB_LIBS, SHLIB_MULTILIB to mklibgcc.
+       * mklibgcc.in: Use them to link shared a libgcc.
+       * config/t-linux (SHLIB_LINK, SHLIB_LIBS): New.
+       * config/alpha/t-ieee (SHLIB_MULTILIB): New.
+       * config/mips/t-iris6 (SHLIB_LINK, SHLIB_LIBS): New.
+       * config/sparc/t-sol2 (SHLIB_LINK, SHLIB_LIBS): New.
+
+       * configure.in (alpha-osf*): Use t-osf and x-osf.
+       * config/alpha/t-osf: New file.
+       * config/alpha/t-osf4: New file.
+       * config/alpha/x-osf: New file.
+       * config/alpha/x-alpha: Remove file.
+
+2000-10-04  Will Cohen  <wcohen@redhat.com>
+
+       * c-typeck.c (process_init_element): Added warning for zero-length
+       array.
+
+       * extend.texi (Zero Length): State that static initializers for
+       zero-length arrays are not allowed.
+
+Mon Oct  2 14:50:14 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * rtlanal.c (single_set_1): Do not require USE and CLOBBERs
+       to come last.
+
+2000-10-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/float-c4x.h: New.
+       * configure.in (c4x-*): Set float_format to c4x.
+       * configure: Regenerate.        
+
+2000-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * configure.in (sparc-*-solaris2*): Disable 32-to-64 cross
+       compilation for solaris versions 2.7 and greater.
+
+2000-10-02  David O'Brien  <obrien@dragon.nuxi.com>
+
+       * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
+
+2000-10-01  Mark Mitchell  <mark@codesourcery.com>
+
+       * config/ns32k/genix.h: Remove.
+       * config/ns32k/x-genix: Likewise.
+       * config/ns32k/xm-genix.h: Likewise.
+       * config/fx80: Remove all filee in directory.
+       * config/pyr: Likewise.
+       * config/tahoe: Likewise.
+       * config/gmicro: Likewise.
+       * config/spur: Likewise.
+       * configure.in: Remove configury bits for above targets.
+       * configure: Regenerated.
+       
+       * configure.in: Don't configure chill by default.
+       * configure: Regenerated.
+       
+       * c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
+       (lang_mark_false_label_stack): Remove.
+       * c-lex.c (init_c_lex): Add file_info_tree as GC root.  Allocate
+       <top level> string in GC area.
+       (mark_splay_tree_node): New function.
+       (mark_splay_tree): Likewise.
+       * except.c (mark_eh_status): Only call lang_mark_false_label_stack
+       if it exists.
+       * ggc-callbacks.c (lang_mark_false_label_stack): Remove.
+       * ggc-common.c (lang_mark_false_label_stack): Change type.
+       * ggc.h (ggc_alloc_string): Add comment.
+       (ggc_strdup): New function.
+       
+Sat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr.h (BRANCH_COST): Define as 0.
+
+       * config/pdp11/pdp11.c: #include "tree.h" added.
+
+2000-09-30  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+       * config/avr/avr.c (ashlhi3_out, ashlsi3_out, ashrhi3_out,
+       ashrsi3_out, lshrhi3_out, lshrsi3_out): Optimize more cases
+       with known shift count.
+       * config/avr/avr.md (ashlsi3, ashrsi3, lshrsi3):
+       New alternative for shift count 2 with no scratch register.
+       (ashlhi3, ashlsi3): Change "cc" attribute from "clobber" to
+       "set_n" for shift counts 1 and 2.
+
+2000-09-30  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/rs6000.md (movsi_to_cr): Remove the USE.  Calculate
+       the mask value from the individual SET operations.
+       (return_internal_si): Move the USE after the RETURN.
+       (return_internal_di): Likewise.
+       (return_and_restore_fpregs_si): Likewise.
+       (return_and_restore_fpregs_di): Likewise.
+       (return_eh_si): Likewise.
+       (return_eh_di): Likewise.
+       * config/rs6000/rs6000.c (mtcrf_operation): Don't look for,
+       or check, the USE.
+       (rs6000_emit_prologue): Don't emit the USE for movsi_to_cr.
+       Don't generate a PARALLEL around a single operation movsi_to_cr.
+       Generate the RETURN first in any PARALLELs.
+
+       * rtlanal.c (single_set_1): Use fatal_insn to display the
+       invalid insn.  Check for more cases when a USE or CLOBBER occurs
+       before a SET.
+       * Makefile.in: Update dependencies for rtlanal.o.
+
+2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * i386.c: Move include of "config.h" to before that of <setjmp.h>.
+
+2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi:
+       Consistently use @email for formatting email addresses.
+
+2000-09-29  Richard Henderson  <rth@cygnus.com>
+
+       * cse.c (notreg_cost): New argument outer.
+       (COST): Pass in SET to notreg_cost
+       (COST_IN): New.
+       (fold_rtx): Use COST_IN.  Prefer constants when costs
+       are the same.
+
 2000-09-29  David Edelsohn  <edelsohn@gnu.org>
 
        * fixinc/inclhack.def (broken_cabs): Generalize regex.
@@ -1036,17 +1340,6 @@ Mon 18-Sep-2000 19:21:35 BST  Neil Booth  <NeilB@earthling.net>
        * config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
        LABEL_REFs with a PIC-safe unspec.
 
-2000-09-18  Will Cohen  <wcohen@redhat.com>
-
-       * extend.texi (Zero Length): State that static initializers for
-       zero-length arrays are not allowed.
-
-       * c-typeck.c (process_init_element): Flag initializers for zero
-       length arrays.
-
-       * tree.c (integer_all_onesp): Ignore TREE_INT_CST_HIGH if prec is
-       exactly HOST_BITS_PERWIDE_INT.
-
 2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
 
        * c-common.c (check_format_info): Properly save the argument