+2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/t-linux (MULTILIB_OPTIONS): Remove.
+
+2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
+ (SUPPORT_SH4_SINGLE): Likewise.
+ (TARGET_SWITCHES): Break out switches for cpu subtargets:
+ (TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
+ (TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
+ (TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
+ (TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
+ (TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
+ (TARGET_SWITCHES_SH5_32MEDIA): Likewise.
+ (TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
+ (SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
+ (SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
+ (SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
+ (SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
+ (SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
+ (ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
+ * sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
+ (TARGET_DEFAULT): Likewise.
+ * config/sh/t-elf: Amend comment.
+ * config/sh/t-1e, config/sh/t-mlib-sh1: New files.
+ * config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
+ * config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
+ * config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
+ * config/sh/t-mlib-sh4-single: Likewise.
+ * config/sh/t-mlib-sh4-single-only: Likewise.
+ * config/sh/t-mlib-sh5-32media: Likewise.
+ * config/sh/t-mlib-sh5-32media-nofpu: Likewise.
+ * config/sh/t-mlib-sh5-64media: Likewise.
+ * config/sh/t-mlib-sh5-64media-nofpu: Likewise.
+ * config/sh/t-mlib-sh5-compact: Likewise.
+ * config/sh/t-mlib-sh5-compact-nofpu: Likewise.
+ * config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
+ (MULTILIB_CPUS): Define.
+ (MULTILIB_OPTIONS): Use MULTILIB_CPUS.
+ (MULTILIB_MATCHES): Use some shell code to calculate it.
+ (MULTILIB_EXCEPTIONS): Change to ml/m1.
+ * config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
+ * config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
+ (LINK_DEFAULT_CPU_EMUL): Don't redefine.
+ (NO_PROFILE_COUNTERS): Define to 1.
+ * config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
+ (MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
+ * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
+ (MULTILIB_MATCHES): Don't zap.
+ (MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
+ * config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
+ (MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
+ (MULTILIB_RAW_DIRNAMES): Define.
+ (MULTILIB_DIRNAMES): Use it.
+ * config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
+ (sh*linux configurations): Merge into:
+ (sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
+ --with-multilib-list options. Support sh-superh-elf configuration.
+ (sh*-netbsd*): Use SELECT_SH* macros.
+ (supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
+ Merge sh*-*-netbsd* configurations into sh-elf configurations.
+ * config/sh/t-netbsd-sh5, config/sh/t-be, config/sh/t-le: Delete.
+ * config/sh/t-monolib: Likewise.
+
+2004-06-21 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Soft-float need
+ not imply FPA.
+
+2004-06-21 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (operand_equal_p): Pass flags in recursive calls for
+ binary and relational operations. Add support for TRUTH_ANDIF_EXPR,
+ TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR.
+ * tree.c (commutative_tree_code): Also list UNORDERED_EXPR,
+ ORDERED_EXPR, UNEQ_EXPR, LTGT_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR
+ and TRUTH_XOR_EXPR.
+
+2004-06-21 Paolo Bonzini <bonzini@gnu.org>
+
+ * rtlanal.c (may_trap_p): Mark LTGT as trapping.
+
+2004-06-21 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * tree-alias-common.h (struct tree_alias_ops): Change ip and
+ ip_partial to unsigned int.
+
+2004-06-21 Richard Henderson <rth@redhat.com>
+
+ * c-common.c (verify_sequence_points): Export.
+ (c_expand_expr_stmt): Move to c-typeck.c.
+ * c-common.h (c_expand_expr_stmt): Remove.
+ (verify_sequence_points): Declare.
+ * c-mudflap.c (mflang_flush_calls): Use c_finish_expr_stmt.
+ * c-parse.in (for_init_stmt, stmt): Likewise.
+ * c-tree.h (c_finish_expr_stmt): Declare.
+ (c_tree_expr_nonnegative_p): Remove.
+ * c-typeck.c (c_tree_expr_nonnegative_p): Remove.
+ (build_conditional_expr, build_binary_op): Use tree_expr_nonnegative_p.
+ (emit_side_effect_warnings): New.
+ (c_finish_expr_stmt): Rename from c_expand_expr_stmt. Use it.
+ (c_finish_stmt_expr): Work without EXPR_STMT. Handle eh regions.
+ Use emit_side_effect_warnings.
+ (push_cleanup): Copy STATEMENT_LIST_STMT_EXPR.
+ * fold-const.c (tree_expr_nonnegative_p): Handle TARGET_EXPR.
+ * gimplify.c (gimplify_modify_expr): Don't discard TARGET_EXPR
+ with void initializer.
+ (gimplify_target_expr): Handle void BIND_EXPR initializer.
+ * tree-inline.c (estimate_num_insns_1): Fix type lookup for
+ INIT_EXPR and MODIFY_EXPR.
+ * objc/objc-act.c (build_module_descriptor): Use add_stmt
+ instead of c_expand_expr_stmt.
+
+2004-06-21 Paolo Bonzini <bonzini@gnu.org>
+
+ * fold-const.c (fold_cond_expr_with_comparison):
+ New function, extracted from fold.
+ (fold): Extract code to fold A op B ? A : C, use
+ it to fold A op B ? C : A. Really optimize
+ A & N ? N : 0 where N is a power of two. Avoid
+ relying on canonicalization and recursion for
+ foldings of COND_EXPR to happen.
+
+2004-06-20 David Ayers <d.ayers@inode.at>
+
+ * objc/objc-act.h (get_object_reference): Rename to
+ get_protocol_reference.
+ (super_type): Rename to objc_super_type.
+ (selector_type): Rename to objc_selector_type.
+ (id_type): Rename to objc_id_type.
+ (instance_type): Rename to objc_instance_type.
+ (protocol_type): Rename to objc_protocol_type.
+ (IS_ID): Update reference to id_type.
+ * objc/objc-act.c (get_object_reference): Rename to
+ get_protocol_reference; add documentation; update references to
+ id_type.
+ (lookup_method_in_protocol_list): Rename class_meth to
+ is_class; add documentation.
+ (finish_message_expr): Rename is_class to class_tree.
+ (synth_module_prologue, objc_is_object_ptr, objc_build_exc_ptr,
+ next_sjlj_build_try_catch_finally, objc_begin_catch_clause,
+ build_next_objc_exception_stuff, get_arg_type_list,
+ build_objc_method_call): Update references to id_type.
+ (synth_module_prologue, build_objc_symtab_template,
+ build_selector_reference_decl, build_selector,
+ build_selector_translation_table, build_typed_selector_reference,
+ get_arg_type_list, synth_self_and_ucmd_args, get_arg_type_list,
+ synth_self_and_ucmd_args): Update references to selector_type.
+ (build_private_template, build_ivar_reference): Update references
+ to instance_type.
+ (synth_module_prologue, build_protocol_reference,
+ build_protocol_expr, start_protocol): Update references to
+ protocol_type.
+ (synth_module_prologue, get_arg_type_list, build_objc_method_call):
+ Update references to super_type.
+ * c-parse.in: (typespec_nonreserved_nonattr): Update
+ references to get_object_reference.
+ * objc/objc-tree.def: Add C mode identifier sequence.
+
2004-06-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* loop-invariant.c: New file.