OSDN Git Service

PR c/18867
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index d997f41..70747e2 100644 (file)
@@ -1,3 +1,420 @@
+2004-12-07  Steven Bosscher  <stevenb@suse.de>
+
+       PR c/18867
+       * c-typeck.c (c_start_case): Set orig_type to error_mark_node
+       when the type of the controlling expression is not a valid type.
+
+2004-12-07  Steven Bosscher  <stevenb@suse.de>
+
+       PR tree-optimization/17340
+       * tree-ssa-pre.c (compute_antic): Fix comment.
+       (compute_avail): Do not recurse, instead do a DFS using a stack
+       and a loop.
+       (execute_pre): Adjust.
+
+2004-12-07  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-tree.h (struct lang_type): Rename 'objc_protocols' field
+       to 'objc_info'.
+
+2004-12-07  Eric Christopher  <echristo@redhat.com>
+
+       PR target/16317
+       * config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define.
+
+2004-12-07  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/mips-protos.h (mips_valid_pointer_mode): Move
+       prototype...
+       * config/mips/mips.c: ... here. Make static.
+
+2004-12-07  Eric Christopher  <echristo@redhat.com>
+
+       PR target/18442
+       * config/mips/mips.c (mips_vector_mode_supported_p): New function.
+       (TARGET_SCALAR_MODE_SUPPORTED_P): Define to above.
+
+2004-12-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-common.c, expr.c, fold-const.c, print-tree.c,
+       tree-gimple.c, tree-inline.c, tree-pretty-print.c,
+       tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of
+       first_rtl_op with TREE_CODE_LENGTH.
+       * tree.c (first_rtl_op): Remove.
+       Replace uses of first_rtl_op with TREE_CODE_LENGTH.
+       * tree.h: Remove the prototype for first_rtl_op.
+
+2004-12-07  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
+       Revert 2004-12-01 change.
+
+2004-12-06  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-tree.h (struct lang_type): Add 'objc_protocols' field.
+
+2004-12-06  DJ Delorie  <dj@redhat.com>
+
+       * reload.c (find_valid_class): Fix logic to test inner mode as well.
+       (push_reload): Pass inner mode.
+
+2004-12-06  Eric Christopher  <echristo@redhat.com>
+
+       * doc/tm.texi (TARGET_VALID_POINTER_MODE): Document.
+
+2004-12-06  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/sysv4.h: Define RELOCATABLE_NEEDS_FIXUP to 1.
+
+2004-12-06  Zdenek Dvorak  <dvorakz@suse.cz>
+           Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimization/18601
+       * tree-cfg.c (thread_jumps, thread_jumps_from_bb): Removed.
+       (tree_forwarder_block_p): Do not consider blocks that are its own
+       successors forwarders.
+       (cleanup_forwarder_blocks, remove_forwarder_block): New functions.
+       (cleanup_tree_cfg): Use cleanup_forwarder_blocks instead of
+       thread_jumps.
+       * tree-flow.h (bb_ann_d): Remove forwardable.
+
+2004-12-06  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * expr.c (expand_expr_real_1): Remove an "if" whose condition
+       is always false.
+
+2004-12-06  Roger Sayle  <roger@eyesopen.com>
+
+       * c-gimplify.c (gimplify_c_loop): Improve initial implementations
+       for loops whose conditions are known at compile-time.
+       * gimplify.c (append_to_statement_list_1): Remove side_effects
+       parameter, this function should never be called if its false.
+       (append_to_statement_list): Only call append_to_statement_list_1
+       if t is non-NULL tree with side-effects.
+       (append_to_statement_list_force):  Likewise, if t is not NULL.
+
+2004-12-06  J"orn Rennecke <joern.rennecke@st.com>
+
+       * bt-load.c (btr_def_s): New member own_end;
+       (add_btr_to_live_range): Add second parameter.  Changed caller.
+       (clear_btr_from_live_range): Clear btrs_live_at_end bit
+       for the register its definition basic block if own_end is set.
+       (augment_live_range): Also take btrs_live_at_end into account.
+       (combine_btr_defs): Don't bother with
+       other_def->other_btr_uses_after_use if it pertains to a different
+       register.
+       (move_btr_def): Set def->other_btr_uses_before_def after
+       calling combine_btr_defs."
+
+       * bt-load.c (augment_live_range): New argument full_range.
+       Changed all callers.
+
+       * bt-load.c (move_tr_def): Set other_tr_uses_before_def
+       taking new btr assignment into account.
+
+2004-12-05  Daniel Berlin <dberlin@dberlin.org>
+
+       * tree-ssa-alias.c (create_global_var): Use void_type_node,
+       not size_type_node.
+
+2004-12-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * expr.c (expand_expr_real_1): Abort on COND_EXPR of
+       VOID_TYPE.
+
+2004-12-05  Richard Henderson  <rth@redhat.com>
+
+       PR target/18841
+       * config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New.
+       (builtin_setjmp_receiver_er_sl_1): Use it.
+       (builtin_setjmp_receiver_er_1): Likewise.
+       (builtin_setjmp_receiver_er, exception_receiver_er): Remove.
+       (builtin_setjmp_receiver): Don't split for explicit relocs until
+       after reload.
+       (exception_receiver): Likewise.
+
+2004-12-05  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * mklibgcc.in (vis_hide): Add the prototype for the test.
+
+2004-12-05  Roger Sayle  <roger@eyesopen.com>
+
+       * c-typeck.c (c_finish_loop): Improve initial implementations
+       for loops whose conditions are known at compile-time.
+
+2004-12-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * builtins.c: Fix comment typos.
+
+2004-12-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/18730
+       * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): When
+       the first/last insn is a sequence, return the first/last insn of the
+       sequence.
+
+       PR bootstrap/18804
+       * mklibgcc.in (vis_hide): Use implementation instead of declaration
+       for test function.
+
+2004-12-04  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_expand_unaligned_load): Don't forget to
+       use ofs in BWX two byte special case.
+       (alpha_expand_unaligned_store): Likewise.
+
+2004-12-04  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * gcse.c (gcse_main): Add a comment.
+
+2004-12-04  Andrew  Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/17909
+       * builtins.c (fold_builtin_next_arg): Export and return true
+       when there is a warning or an error.
+       (expand_builtin_va_start): When fold_builtin_next_arg returns true,
+       return const0_rtx.
+       (expand_builtin): Likewise.
+       * gimplify.c (gimplify_call_expr): Error out if there is not
+       enough arguments to va_start. Call fold_builtin_next_arg also
+       on the second argument.
+       * tree.h (fold_builtin_next_arg): Prototype.
+
+2004-12-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * mklibgcc.in: Build shared libgcc and shared libunwind in gcc/.
+       Don't subst shlib_dir for SHLIB_LINK, SHLIBUNWIND_LINK,
+       SHLIB_INSTALL, and SHLIBUNWIND_INSTALL.
+       * config/i386/t-nwld (SHLIB_NAME): Use shlib_base_name in place of
+       shlib_dir and shlib_so_name.
+       * config/mips/t-slibgcc-irix (SHLIB_NAME): Likewise.
+       * config/t-libunwind-elf (SHLIB_NAME): Likewise.
+       * config/t-slibgcc-darwin (SHLIB_NAME): Likewise.
+       * config/t-slibgcc-elf-ver (SHLIB_NAME): Likewise.
+       * config/t-slibgcc-sld (SHLIB_NAME): Likewise.
+       (SHLIB_LINK): Don't use shlib_dir when creating symlink.
+
+2004-12-03  Roger Sayle  <roger@eyesopen.com>
+
+       * doc/tm.texi (TARGET_DELEGITIMIZE_ADDRESS): Document target hook.
+
+2004-12-03  Richard Henderson  <rth@redhat.com>
+
+       * alias.c (component_uses_parent_alias_set): Rename from
+       can_address_p.  Return bool.  Reverse the sense of the result.
+       Reinstate the check for alias set zero.
+       (get_alias_set): Update to match.
+       * alias.h (component_uses_parent_alias_set): Likewise.
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+       * expr.c (expand_assignment): Likewise.
+       * expr.h: Remove commented out prototypes that were moved to alias.h.
+
+2004-12-03  Richard Henderson  <rth@redhat.com>
+
+       * doc/tm.texi (TARGET_BUILD_BUILTIN_VA_LIST): New.
+       (TARGET_CANNOT_FORCE_CONST_MEM): New.
+
+2004-12-04  Alan Modra  <amodra@bigpond.net.au>
+
+       PR middle end/18718
+       * sched-rgn.c (schedule_region): Don't assume REG_SAVE_NOTEs are
+       in pairs.
+       * sched-ebb.c (schedule_ebb): Likewise.
+
+2004-12-03  Andreas Schwab  <schwab@suse.de>
+
+       * Makefile.in (HOSTHOOKS_DEF_H): Define.
+       (ggc-common.o): Depend on $(HOSTHOOKS_DEF_H).
+       (host-default.o): Likewise.
+
+2004-12-03  Eric Christopher  <echristo@redhat.com>
+
+       * config/stormy16/stormy16.md (pushqi, popqi, pushhi,
+       pophi): Add number of arguments to name so that the
+       pattern is recognized as a named pattern.
+
+2004-12-03  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/extend.texi (AltiVec Builtins): Fix info about signedness.
+
+2004-12-03  Andreas Tobler  <a.tobler@schweiz.ch>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Protect
+       darwin_one_byte_bool with #if.
+
+2004-12-03  Paolo Bonzini  <bonzini@gnu.org>
+
+       * doc/tm.texi (Misc): Document TARGET_FOLD_BUILTIN.
+
+2004-12-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * mklibgcc.in: Put back the default set of EXTRA_MULTILIB_PART.
+
+2004-12-03  Richard Sandiford  <rsandifo@redhat.com>
+
+       * configure.ac: Move TL_AC_GCC_VERSION into initialization section.
+       Set libstdcxx_incdir directly.
+       * configure: Regenerate.
+
+2004-12-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-dom.c (record_equivalences_from_phis): Remove an
+       "if" whose condition is always true.
+
+       * cfgrtl.c (rtl_verify_flow_info_1): Use JUMP_P instead of
+       INSN_P.
+
+2004-12-02  Stan Shebs  <shebs@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Make 64-bit
+       Darwin default to one-byte bools.
+
+2004-12-02  Richard Henderson  <rth@redhat.com>
+
+       PR 18774
+       * simplify-rtx.c (simplify_immed_subreg): Fail complex modes.
+
+2004-12-03  Ben Elliston  <bje@au.ibm.com>
+
+       * doc/cfg.texi (Edges): Update. Document the edge_iterator data
+       type and its methods.
+
+2004-12-02  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (write_complex_part): Use simplify_gen_subreg when the
+       submode is at least as large as a word.
+       (read_complex_part): Likewise.
+
+2004-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/18532
+       * mklibgcc.in: Build one set of EXTRA_MULTILIB_PARTS for
+       multilib at a time. Don't build the default set. Don't add
+       EXTRA_MULTILIB_PARTS to shared libunwind nor libgcc. Remove
+       filter for shared libunwind and libgcc.
+
+2004-12-02  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/18759
+       * config/i386/i386.c (override_options): If -fomit-frame-pointer has
+       already been specified, ignore the -momit-leaf-frame-pointer option.
+
+2004-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * varasm.c (make_decl_rtl): Add the missing `;'.
+
+2004-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * tree.c (is_attribute_p): Split out to ..
+       (is_attribute_with_length_p): Here.  Use IDENTIFIER_LENGTH instead
+       of strlen and compare the string lengths before calling strcmp.
+       (lookup_attribute): Call is_attribute_with_length_p instead of
+       is_attribute_p.
+
+2004-12-02  Devang Patel  <dpatel@apple.com>
+
+       * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -gfull and -gused.
+       * config/rs6000/darwin.h (CC1_SPEC): Do not handle -gfull and -gused.
+       * config/i386/darwin.h (CC1_SPEC): Same.
+
+2004-12-02  Richard Henderson  <rth@redhat.com>
+
+       * optabs.c (lowpart_subreg_maybe_copy): New.
+       (expand_unop, expand_abs_nojump): Use it.
+
+2004-12-02  J"orn Rennecke <joern.rennecke@st.com>
+
+       * sh.md (extv, extzv): Add pattern predicate.
+
+2004-12-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF
+       is not null.
+
+       * tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF
+       is not null.
+
+       * tree-cfg.c (thread_jumps): Reduce the size of WORKLIST.
+
+2004-12-02  Jeff Law  <law@redhat.com>
+
+       * tree-eh.c: Revert yesterday's change.
+
+2004-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * varasm.c (decode_reg_name): Revert change to check for zero
+       length strings.
+       (make_decl_rtl): Make sure that we call decode_reg_name only
+       when needed.
+
+2004-12-02  Dorit Naishlos  <dorit@il.ibm.com>
+
+       PR tree-opt/18716
+       * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Properly set
+       then and else labels.
+
+2004-12-02  Andreas Schwab  <schwab@suse.de>
+
+       * Makefile.in (WERROR_FLAGS): Renamed from WERROR.
+       (STRICT2_WARN): Use $(WERROR_FLAGS) instead of $(WERROR).
+       (STAGE2_FLAGS_TO_PASS): Likewise.
+
+       * config/i386/x-mingw32: Set WERROR_FLAGS instead of WERROR.
+
+2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
+
+       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.  Remove
+       now-redundant AC_SUBSTs.
+       * aclocal.m4: Include ../config/gcc-version.m4.
+       * configure: Regenerate.
+
+2004-12-02  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_assemble_integer): Put back the
+       #ifdef RELOCATABLE_NEEDS_FIXUP.
+
+2004-12-01  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/9908
+       * config/i386/i386.md (*call_value_1, *sibcall_value_1): Correct
+       Intel assembler syntax by using %A1 instead of %*%1.
+
+2004-12-01  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (expand_assignment): Handle CONCAT both as a final
+       destination and as a middle point.
+
+2004-12-01  Jeff Law  <law@redhat.com>
+
+       * tree-eh.c (save_eptr, save_filt): Now file scoped statics.
+       (honor_protect_cleanup_actions): Only create save_eptr and
+       save_filt if they do not already exist.
+       (lower_eh_constructs): Wipe all knowledge of save_eptr and
+       save_filt before returning.
+
+2004-12-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-phinodes.c (remove_phi_arg_num): Fix a comment.
+
+2004-12-02  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/16952
+       * config/rs6000/rs6000.c (rs6000_assemble_integer): Replace
+       #ifdef RELOCATABLE_NEEDS_FIXUP with if.
+       * config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Define in terms
+       of target_flags_explicit.
+       * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Ditto for biarch
+       case.  Define as 0 for non-biarch.
+
+2004-12-01  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
+       Change temporary file tag from a prefix to an infix.
+
+2004-12-02  Andreas Schwab  <schwab@suse.de>
+
+       * gcc.c (struct option_map): Add entry for "--pass-exit-codes".
+
 2004-12-01  Andrew Pinski  <pinskia@physics.uc.edu>
 
        PR tree-opt/18763
        gen_realpart/gen_imagpart.
        * expr.c (write_complex_part, read_complex_part): New.
        (emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push,
-       emit_move_complex_push, emit_move_complex, emit_move_ccmode, 
+       emit_move_complex_push, emit_move_complex, emit_move_ccmode,
        emit_move_multi_word): Split out from ...
        (emit_move_insn_1): ... here.
        (expand_expr_real_1) <COMPLEX_EXPR>: Use write_complex_part.
        * function.c (assign_parm_setup_reg): Hard-code transformations
        instead of using gen_realpart/gen_imagpart.
 
-       * expr.c (optimize_bitfield_assignment_op): Split out from ... 
+       * expr.c (optimize_bitfield_assignment_op): Split out from ...
        (expand_assignment): ... here.  Use handled_component_p to gate
        get_inner_reference code.  Simplify MEM handling.  Special case
        CONCAT destinations.