+2005-05-10 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/21342
+ * c-decl.c (pushdecl): When there is a declaration in the current
+ scope and the declarations are external linkage, check for
+ compatibility with the type in the external scope and update the
+ type in the external scope with the composite type information.
+ Do not form a composite type of the new type and the visible type
+ if they are incompatible.
+
+2005-05-10 Nathan Sidwell <nathan@codesourcery.com>
+
+ * crtstuff.c: Revert part of 2005-05-08 Change.
+ (IN_LIBGCC2): Define.
+
+2005-05-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.c (fp_sethi_p): Test !SPARC_SIMM13_P and
+ remove redundant test.
+ (fp_mov_p): Accept 0.
+ (fp_high_losum_p): Remove redundant test.
+ * config/sparc/predicates.md (const_high_operand): Explicitly test
+ (not small_int_operand).
+ (fp_const_high_losum_operand): New.
+ * config/sparc/sparc.md (movsi_insn): Do not emit 'clr'. Reorder.
+ (movdi_insn_sp32_v9): Use canonical predicates.
+ (movdi_insn_sp32): Test !TARGET_V9 instead of !TARGET_ARCH64.
+ (movdi_insn_sp64_novis): Delete.
+ (movdi_insn_sp64_vis): Rename into movdi_insn_sp64.
+ (movsf_insn_novis): Delete.
+ (movsf_insn_vis): Rename into movsf_insn.
+ (movsf_no_f_insn): Rename into movsf_insn_no_fpu.
+ (movsf_lo_sum): Use fp_const_high_losum_operand.
+ (movsf_high): Likewise.
+ (movsf_high_losum splitter): Likewise.
+ (mov<V32:mode> expander): Use register_or_zero_operand.
+ (mov<V64:mode> expander): Likewise.
+ (movdf_insn_sp32): Use register_or_zero_operand.
+ (movdf_no_e_insn_sp32): Use register_or_zero_operand.
+ Rename into movdf_insn_sp32_no_fpu.
+ (movdf_no_e_insn_v9_sp32): Use register_or_zero_operand.
+ Rename into movdf_insn_sp32_v9_no_fpu.
+ (movdf_insn_v9only_novis): Delete.
+ (movdf_insn_v9only_vis): Rename into movdf_insn_sp32_v9.
+ (movdf_insn_sp64_novis): Delete.
+ (movdf_insn_sp64_vis): Rename into movdf_insn_sp64.
+ (movdf_no_e_insn_sp64): Use register_or_zero_operand.
+ Rename into movdf_insn_sp64_no_fpu.
+ (movtf expander): Use register_or_zero_operand.
+ (movtf_insn_sp32): Delete.
+ (movtf_insn_vis_sp32): Use register_or_zero_operand.
+ Rename into movtf_insn_sp32.
+ (movtf_no_e_insn_sp32): Use register_or_zero_operand.
+ Rename into movtf_insn_sp32_no_fpu.
+ (movtf_insn_hq_sp64): Delete.
+ (movtf_insn_hq_vis_sp64): Use register_or_zero_operand.
+ Rename into movtf_insn_sp64_hq.
+ (movtf_insn_sp64): Delete.
+ (movtf_insn_vis_sp64): Use register_or_zero_operand.
+ Rename into movtf_insn_sp64.
+ (movtf_no_e_insn_sp64): Use register_or_zero_operand.
+ Rename into movtf_insn_sp64_no_fpu.
+
+2005-05-10 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/stormy16/stormy16.c (xstormy16_emit_cbranch): Use
+ gcc_assert and gcc_unreachable as appropriate.
+ (xstormy16_split_cbranch, xstormy16_output_cbranch_hi,
+ xstormy16_output_cbranch_si, xstormy16_split_move,
+ xstormy16_initial_elimination_offset,
+ xstormy16_encode_section_info, xstormy16_print_operand_address,
+ xstormy16_expand_call, xstormy16_expand_arith,
+ xstormy16_output_shift, xstormy16_init_builtins): Likewise.
+
+2005-05-10 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-outof-ssa.c (_elim_graph): Change the type of nodes and
+ const_copies to VEC(tree,heap)*.
+ (new_elim_graph, delete_elim_graph, elim_graph_size,
+ elim_graph_add_node, eliminate_build, eliminate_phi): Use VEC
+ instead of VARRAY.
+
+2005-05-10 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR other/21052
+ * doc/extend.texi (Type Attributes): Correct example syntax.
+
+2005-05-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/21160
+ * doc/invoke.texi (-Wuninitialized): Update documentation.
+
+2005-05-09 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.c (const_ok_for_arm): Use a faster algorithm.
+
+2005-05-09 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/21477
+ * config/rs6000/rs6000.md (add_op2): New.
+ (add<mode>3): Use it.
+
+2005-05-09 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.c (arm_gen_constant): Add new heuristic for generating
+ constant integers that can be expressed as the difference of two
+ valid immediates.
+
+2005-05-09 Roger Sayle <roger@eyesopen.com>
+
+ * c-tree.h (parser_build_unary_op): New prototype.
+ * c-typeck.c (parser_build_unary_op): New function to construct
+ a unary operation in the C parser.
+ * c-parser.c (c_parser_unary_expression): Use the new function
+ parser_build_unary_op when appropriate.
+
+2005-05-09 Mark Mitchell <mark@codesourcery.com>
+
+ PR 18655
+ * dwarf2out.c (output_call_frame_info): Use DWARF2_FRAME_REG_OUT
+ before outputting DWARF_FRAME_RETURN_COLUMN.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.c: (s390_branch_condition_mask,
+ s390_branch_condition_mnemonic, s390_extra_constraint_str,
+ s390_const_ok_for_constraint_p, s390_expand_plus_operand,
+ legitimize_pic_address, s390_emit_tls_call_insn,
+ legitimize_tls_address, legitimize_tls_address,
+ s390_expand_addcc, print_shift_count_operand, print_operand,
+ addr_generation_dependency_p, annotate_constant_pool_refs,
+ s390_split_branches, find_constant_pool_ref,
+ replace_constant_pool_ref, s390_add_constant, s390_find_constant,
+ s390_find_execute, s390_mainpool_start, s390_chunkify_start,
+ s390_output_pool_entry, s390_function_value,
+ s390_call_saved_register_used, s390_emit_call): Replace
+ conditional aborts by gcc_assert and unconditional by gcc_unreachable.
+ (s390_select_ccmode, s390_match_ccmode_set, s390_extract_part,
+ s390_cannot_force_const_mem, s390_output_dwarf_dtprel,
+ get_some_local_dynamic_name, s390_function_arg_size,
+ s390_function_arg_advance, s390_function_arg,
+ s390_expand_builtin, s390_gen_rtx_const_DI): Replace abort in
+ default case by gcc_unreachable.
+ * config/s390/s390.md: ("*cjump_31", "*icjump_31", "*jump31"): Replace
+ conditional abort by gcc_assert.
+ ("doloop_si31"): Replace abort in last else by gcc_unreachable.
+ ("main_pool", "pool"): Replace unconditional abort by gcc_unreachable.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.c: (s390_decompose_address,
+ tls_symbolic_operand, legitimate_pic_operand_p,
+ legitimate_constant_p, legitimate_reload_constant_p,
+ s390_expand_plus_operand, legitimate_address_p,
+ legitimate_la_operand_p, ): Remove 'register' from signature.
+ (symbolic_reference_mentioned_p,
+ tls_symbolic_reference_mentioned_p): Remove 'register' from local
+ variable declarations.
+ (legitimize_address): Remove 'register' from
+ signature and local variable declarations.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390-protos.h: (s390_match_ccmode,
+ s390_match_ccmode_set, reg_used_in_mem_p,
+ symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
+ legitimate_la_operand_p, preferred_la_operand_p,
+ s390_short_displacement, addr_generation_dependency_p,
+ legitimate_reload_constant_p, legitimate_address_p): Change return type
+ into 'bool'.
+ (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
+ * config/s390/s390.c: (s390_match_ccmode,
+ symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
+ legitimate_reload_constant_p): Change return type into 'bool'.
+ (preferred_la_operand_p,legitimate_la_operand_p, legitimate_address_p):
+ Likewise. Additionally adapted comment.
+ (s390_extra_constraint_p): Change Comment to reflect 'int' return type.
+ (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
+ (s390_decompose_address): Change the type of the internal flags
+ "pointer", "base_ptr", "indx_ptr", and the return value into 'bool'.
+ (struct s390_address): Change type of "pointer" into bool.
+ * config/s390/s390.md: ("*tmdi_reg", "*tmsi_reg", "tm<mode>_full"):
+ Adapt calls for 's390_tm_ccmode' to the new signature.
+
2005-05-09 Adrian Straetling <straetling@de.ibm.com>
* config/s390/s390.c: (s390_match_ccmode_set,