OSDN Git Service

Fix install doc problems reported by Jean-Paul Rigault
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index d5595bf..2e76a4e 100644 (file)
@@ -1,3 +1,859 @@
+2005-04-28  James E Wilson  <wilson@specifixinc.com>
+
+       * doc/install.texi: Update -enable-languages info.  Correct path to
+       html docs.
+
+2005-04-28  DJ Delorie  <dj@redhat.com>
+
+       * optc-gen.awk (END): Make sure no variable is defined more
+       than once.
+       * opth-gen.awk (END): Allocate bits on a per-variable basis.
+       Allow for bitfield variables other than target_flags.
+       * doc/options.text (Mask): Document that you may specify a
+       variable other than target_flags.
+
+2005-04-28  Martin Koegler <mkoegler@auto.tuwien.ac.at>
+
+       PR rtl-optimization/18877
+       * reload.c (decompose) <case REG, case SUBREG>: Handle pseudo reg
+       number in val.start.
+
+2005-04-28  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/20813
+       * config/rs6000/aix43.h (SUBSUBTARGET_SWITCHES, aix64): Add
+       MASK_PPC_GFXOPT.
+       * config/rs6000/aix51.h (SUBSUBTARGET_SWITCHES, aix64): Same.
+       * config/rs6000/aix52.h (SUBSUBTARGET_SWITCHES, aix64): Same.
+       * config/rs6000/sysv4.h (SUBTARGET_SWITCHES, 64): Same.
+
+2005-04-28  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       * arm.c (legitimize_pic_address): Fix sense of assertion test for
+       creating pseudos when the base offset is too large.
+
+2005-04-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * global.c (earlyclobber_regclass): Change the type to
+       VEC(int,heap).
+       (check_earlyclobber): Update uses of earlyclobber_regclass.
+       (mark_reg_use_for_earlyclobber): Likewise.
+       (calculate_local_reg_bb_info): Allocate and free
+       earlyclobber_regclass using the VEC API.
+
+2005-04-28  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * tree-ssa-alias.c (push_fields_onto_fieldstack): Remove bogus
+       assert.
+
+2005-04-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * modulo-sched.c, tree-stdarg.c: Use targetm.foo instead of
+       (*targetm.foo).
+
+       * config.gcc: Obsolete c4x-* and tic4x-*.
+
+       * tree.h (edge_def): Remove.
+
+       * bt-load.c, cfgexpand.c, dwarf2out.c, emit-rtl.c, expr.c,
+       function.c, global.c, lcm.c, loop-invariant.c, optabs.c,
+       reorg.c, resource.c, tree-ssa-loop-ivopts.c, value-prof.c: Use
+       JUMP_P, LABEL_P, REG_P, MEM_P, NONJUMP_INSN_P, and INSN_P
+       where appropriate.
+
+       * attribs.c, c-pragma.c, caller-save.c, cfghooks.h,
+       coverage.c, cselib.h, domwalk.c, domwalk.h, errors.c,
+       errors.h, gcov-dump.c, gcov-io.c, gcov-io.h, gen-protos.c,
+       genattrtab.h, genextract.c, gthr-win32.h, insn-notes.def,
+       integrate.c, lambda-mat.c, lambda.h, libgcov.c, local-alloc.c,
+       machmode.def, mips-tfile.c, params.c, pretty-print.c,
+       print-rtl.c, protoize.c, regmove.c, sched-vis.c, tree-chrec.h,
+       tree-data-ref.h, vec.h, config/darwin-c.c, config/sol2-c.c,
+       config/sol2.c, config/arm/arm-cores.def, config/arm/cirrus.md,
+       config/arm/symbian.h, config/c4x/c4x.c, config/c4x/c4x.h,
+       config/i386/cygming.h, config/i386/djgpp.h,
+       config/i386/lynx.h, config/i386/netware.c,
+       config/i386/winnt.c, config/ia64/ia64-c.c,
+       config/iq2000/iq2000.c, config/m32r/little.h,
+       config/m68k/m68k-protos.h, config/m68k/m68k.h,
+       config/m68k/m68k.md, config/mcore/mcore.c,
+       config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.md,
+       config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
+       config/mn10300/mn10300.h, config/ns32k/netbsd.h,
+       config/ns32k/ns32k.c, config/ns32k/ns32k.h,
+       config/pa/pa-hpux11.h, config/pdp11/pdp11.c,
+       config/pdp11/pdp11.h, config/rs6000/darwin.h,
+       config/rs6000/default64.h, config/rs6000/rs6000-c.c,
+       config/s390/2064.md, config/s390/2084.md,
+       config/s390/s390-modes.def, config/s390/s390-protos.h,
+       config/s390/tpf.h, config/sh/sh.h, config/sh/symbian.c,
+       config/stormy16/stormy16.c, config/vax/vax-protos.h,
+       config/vax/vax.c, config/vax/vax.h,
+       config/xtensa/lib1funcs.asm, config/xtensa/xtensa.md: Update
+       copyright.
+
+2005-04-28  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * c-typeck.c (build_compound_expr): Correct logic in last change.
+
+2005-04-27  James E. Wilson  <wilson@specifixinc.com>
+
+       * config/ia64/ia64.c (update_set_flags): Delete ppred and pcond
+       parameters.  Replace conditional move code with assert checking for
+       ar.lc.  Delete obsolete comments.
+       (set_src_needs_barrier): Delete cond parameter, and code using it.
+       (rtx_needs_barrier): Delete initialization of cond.  Fix typo in
+       assert checking for PR_REGS.  Fix calls to update_set_flags and
+       set_src_needs_barrier.
+       (group_barrier_needed): Renamed from group_barrier_needed_p.  Fix all
+       callers.  Rewrite explanatory comment before the function.
+       (safe_group_barrier_needed): Renamed from safe_group_barrier_needed_p.
+       Fix all callers.
+
+2005-04-27  Mike Stump  <mrs@apple.com>
+
+       * doc/cpp.texi: gcc now implements universal character names.
+
+2005-04-27  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/21159
+       * c-typeck.c (build_compound_expr): Don't warn for left-hand side
+       being a compound expression whose right-hand side is cast to void.
+
+2005-04-27  Caroline Tice  <ctice@apple.com>
+
+        * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+       Remove targetm.have_named_sections test.
+       (fix_edges_for_rarely_executed_code): Likewise.
+       (insert_section_boundary_note): Likewise.
+       (reorder_basic_blocks): Check partitioning flag before calling
+       verify_hot_cold_block_grouping.
+       * dbxout.c (dbxout_function_end): Get hot/cold section labels from
+       the function struct rather than global variables.
+       * dwarf2out.c (COLD_TEXT_SECTION_LABEL): New macro.
+       (COLD_END_LABEL): Likewise
+       (cold_text_section_label): New static global variable.
+       (cold_end_label): Likewise.
+       (dwarf2out_switch_text_section): Get hot/cold section labels from
+       the function struct rather than global variables; test to make sure
+       cfun is defined.
+       (output_aranges): Use cold_text_section_label and cold_end_label;
+       check partitioning flag before putting out delta.
+       (output_ranges): Remove incorrect code attempting to use
+       hot/cold labels.
+       (output_line_info): Get cold section label from function struct; test
+       to make sure cfun is defined.
+       (add_location_or_const_value_attribute): Likewise.
+       (dwarf2out_var_location): Likewise.
+       (dwarf2out_init): Generate cold_text_section_label and cold_end_label;
+       write out cold_text_section_label if partition flag is set.
+       (dwarf2out_finish): Write out cold_end_label if partition flag is set;
+       * function.h (struct function): Add new fields to point to hot/cold
+       section labels: hot_section_label, cold_section_label,
+       hot_section_end_label and cold_section_end_label; also add new field
+       for cold text section name, unlikely_text_section_name.
+       * opts.c (decode_options): Turn off partitioning flag if
+       !targetm.have_named_sections.
+       * output.h (hot_section_label): Remove.
+       (hot_section_end_label): Remove.
+       (cold_section_end_label): Remove.
+       (unlikely_section_label): Remove.
+       (unlikely_text_section_name): Remove.
+       * passes.c (rest_of_handle_final):  Remove extra blank line.
+       * varasm.c (unlikely_section_label): Remove.
+       (hot_section_label): Remove.
+       (hot_section_end_label): Remove.
+       (cold_section_end_label): Remove.
+       (unlikely_text_section_name):  Remove.
+       (initialize_cold_section_name): Modify to call
+       targetm.strip_name_encoding; to store cold section name in current
+       function struct, if it exists; and to only use the decl_section_name
+       if flag_named_sections is true.
+       (unlikely_text_section): Modify to get section name out of current
+       function struct, if there is one; otherwise build it from
+       UNLIKELY_EXECUTED_TEXT_SECTION_NAME.
+       (in_unlikely_text_section): Likewise.
+       (named_section): Modify to get/put cold section name in current function
+       struct, if there is one.
+       (function_section):  Change 'bool unlikely' to 'int reloc'; check
+       targetm.have_named_sections before calling named_section.
+       (current_function_section): Likewise.
+       (assemble_start_function): Modify to get/put unlikely_text_section_name
+       in current function struct; modify to get hot/cold section labels
+       from function struct; initialize labels using
+       ASM_GENERATE_INTERNAL_LABEL;
+       test partitioning flag before writing out hot section label.
+       (assemble_end_function): Test partitioning flag before writing out
+       hot/cold section labels.
+       (default_section_type_flags_1):  Get cold text section name from
+       function struct if there is one; Set flags correctly for
+       cold text section if there is not a current function struct.
+       
+2005-04-27  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * tree-ssa-propagate.c (set_rhs): Revert last change.
+
+2005-04-27  Steve Ellcey  <sje@cup.hp.com>
+
+       * explow.c (convert_memory_address): Add gcc_assert.
+
+2005-04-27  Mark Mitchell  <mark@codesourcery.com>
+
+       * configure.ac: Check for ld --sysroot support.
+       * gcc.c: Document %R specifier for specs.
+       (SYSROOT_SPEC): New macro.
+       (sysroot_spec): New variable.
+       (static_specs): Add sysroot_spec.
+       (main): Pass the sysroot spec to the linker if appropriate.
+       * configure: Regenerated.
+       * config.in: Likewise.
+
+2005-04-27  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * fold-const.c (fold_binary): Use build_fold_addr_expr
+       for address calculation and INDIRECT_REF handling.
+
+2005-04-27  Andrew Haley  <aph@redhat.com>
+
+       * postreload-gcse.c (hash_scan_set): Remove bogus assertion.
+
+2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Reserve arm frame
+       pointer when thumb backtracing is on.
+
+       * config/fp-bit.c (abort): Revert change.
+
+2005-04-27  Ian Lance Taylor  <ian@airs.com>
+
+       * c-semantics.c (add_stmt): Don't test STATEMENT_CODE_P.
+
+2005-04-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-dce.c: Fix a comment typo.
+
+2005-04-27  David S. Miller  <davem@davemloft.net>
+
+       * explow.c (allocate_dynamic_stack_space SETJMP_VIA_SAVE_AREA):
+       Kill setjmpless_size.  current_function_calls_setjmp is completely
+       computed when we are called, so just use the optimized size value
+       instead of using REG_SAVE_AREA notes.
+       (optimize_save_area_alloca): Delete....
+       * rtl.h (optimize_save_area_alloca): Likewise...
+       * passes.c (rest_of_compilation): and don't call it any more.
+       * reg-notes.def (SAVE_AREA): Delete.
+       
+2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/fp-bit.c (abort): Add noreturn attribute.
+
+       * config/avr/avr.c (avr_naked_function_p): Use gcc_assert and
+       gcc_unreachable as appropriate.
+       (ptrreg_to_str, cond_string, avr_normalize_condition): Likewise.
+       * config/avr/avr.h (ASM_OUTPUT_REG_PUSH,
+       ASM_OUTPUT_REG_POP): Likewise.
+
+2005-04-27  Paolo Bonzini  <bonzini@gnu.org>
+
+       * tree-complex.c (expand_vector_operations_1): Do not build
+       VIEW_CONVERT_EXPR's for the lhs.
+
+2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/pa/pa.h (PRINT_OPERAND_ADDRESS): Use gcc_assert, remove
+       unnecessary noncanonical RTL handling.
+       * config/pa/pa64-linux.h (INITIAL_ELIMINATION_OFFSET): Use
+       gcc_assert and gcc_unreachable.
+
+       * config/arm/arm.h (ARM_PRINT_OPERAND_ADDRESS): Use gcc_assert and
+       gcc_unreachable as appropriate.
+       (THUMB_PRINT_OPERAND_ADDRESS): Likewise.
+       * config/arm/arm.c (arm_override_options, arm_compute_func_type,
+       use_return_insn, const_ok_for_op, arm_gen_constant,
+       arm_canonicalize_comparison, legitimize_pic_address,
+       thumb_find_work_register, arm_load_pic_register, arm_rtx_costs_1,
+       arm_cirrus_insn_p, cirrus_reorg, minmax_code,
+       load_multiple_sequence, emit_ldm_seq, store_multiple_sequence,
+       emit_stm_seq, arm_gen_movmemqi, arm_select_dominance_cc_mode,
+       arm_select_cc_mode, arm_reload_in_hi, arm_reload_out_hi,
+       move_minipool_fix_forward_ref, move_minipool_fix_backward_ref,
+       dump_minipool, create_fix_barrier, push_minipool_fix, arm_reorg,
+       fp_immediate_constant, fp_const_from_val, vfp_output_fstmx,
+       output_call, output_mov_long_double_fpa_from_arm,
+       output_mov_long_double_arm_from_fpa,
+       output_mov_double_fpa_from_arm, output_mov_double_arm_from_fpa,
+       output_move_double, arithmetic_instr, shift_op, int_log2,
+       output_return_instruction, arm_output_function_prologue,
+       arm_output_epilogue, arm_output_function_epilogue,
+       emit_multi_reg_push, arm_get_frame_offsets,
+       arm_compute_initial_elimination_offset, arm_expand_prologue,
+       arm_print_operand, arm_assemble_integer, get_arm_condition_code,
+       arm_final_prescan_insn, arm_init_iwmmxt_builtins,
+       arm_expand_binop_builtin, thumb_pushpop, thumb_far_jump_used_p,
+       thumb_compute_initial_elimination_offset,
+       thumb_output_function_prologue, thumb_load_double_from_address,
+       thumb_output_move_mem_multiple, thumb_reload_out_hi,
+       arm_emit_vector_const, arm_dbx_register_number): Likewise.
+       * config/arm/pe.c (arm_mark_dllexport, arm_mark_dllimport): Likewise.
+       * config/arm/arm.md (thumb_extendhisi2,
+       *thumb_extendhisi2_insn_v6, *thumb_extendqisi2,
+       *thumb_extendqisi2_v6, movhi, *thumb_movhi_insn,
+       thumb_movhi_clobber, movqi, *arm_buneq, *arm_bltgt,
+       *arm_buneq_reversed, *arm_bltgt_reversed, suneq, sltgt): Likewise.
+       * config/arm/cirrus.md (*cirrus_arm_movdi,
+       *cirrus_movdf_hard_insn): Likewise.
+       * config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
+
+2005-04-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-flow.h (ssa_names): Change the type to VEC(tree,gc).
+       (num_ssa_names): Use VEC_length.
+       (ssa_names): Use VEC_index.
+       * tree-ssanames.c (ssa_names): Change the type to
+       VEC(tree,gc).
+       (init_ssanames, fini_ssa_names, make_ssanames,
+       release_ssa_name): Update uses of ssa_names.
+
+       * dojump.c, emit-rtl.c, expmed.c, expr.c, stmt.c, stor-layout.c:
+       Use fold_buildN instead of fold (buildN (...)).
+
+2005-04-27  Devang Patel <dpatel@apple.com>
+
+       * dbxout.c (dbxout_type): Check use_gnu_debug_info_extensions.
+
+2005-04-27  Matt Thomas <matt@3am-software.com>
+            Jan-Benedict Glaw <jbglaw@microdata-pos.de>
+
+       * config/vax/vax.c (vax_rtx_costs): Whitespace cleanup.
+       (vax_output_mi_thunk): Ditto.
+       (vax_notice_cc_update): Ditto.
+       (INDEX_REGISTER_P): Add trailing \.
+       (BASE_REGISTER_P): Add trailing \.
+       (legitimate_address_p): Whitespace cleanup.  Remove trailing \.
+
+2005-04-27  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * tree-ssa-propagate.c (set_rhs): Check operand of
+       ADDR_EXPR for gimpliness, too.
+
+2005-04-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-pre.c: Fix a comment typo.
+
+2005-04-27  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/21171
+       * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not
+       record address uses if the reference is volatile.
+
+2004-04-27  Paolo Bonzini  <bonzini@gnu.org>
+
+       * tree-complex.c (expand_vector_operation): New, extracted from
+       expand_vector_operations_1.
+       (tree_vec_extract): Build a NOP_EXPR.
+       (expand_vec_parallel): Do not care about returning the correct type.
+       (expand_vector_operations_1): Call expand_vector_operation.
+       Build the VIEW_CONVERT_EXPR on the left side of MODIFY_EXPRs.
+
+       * tree-complex.c (gate_expand_vector_operations): New.
+       (pass_lower_vector_ssa): Use it.
+       * tree-optimize.c (init_tree_optimization_passes): Include
+       pass_lower_vector_ssa.
+       * tree-vect-transform.c (vect_min_worthwhile_factor): New.
+       (vectorizable_operation): Use it.
+       * tree-vectorizer.c (get_vectype_for_scalar_type): Accept
+       integer modes for the vector type.
+
+       * defaults.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD.
+       * tree-vect-analyze.c (vect_enhance_data_refs_alignment):
+       Do not cope with UNITS_PER_SIMD_WORD == 0.
+       * tree-vectorizer.c (get_vectype_for_scalar_type): Check
+       if the scalar type is not bigger than UNITS_PER_SIMD_WORD.
+       (vectorize_loops): Do not check that UNITS_PER_SIMD_WORD > 0.
+       * config/i386/i386.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD.
+       * config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
+       * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
+       * config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
+
+       * config/alpha/alpha.h (UNITS_PER_SIMD_WORD): Remove.
+       * config/bfin/bfin.h (UNITS_PER_SIMD_WORD): Remove.
+       * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): Remove.
+
+       * doc/tm.texi (UNITS_PER_WORD): Rephrase more accurately.
+       (UNITS_PER_SIMD_WORD): New.
+
+2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/ia64/ia64.c (ia64_encode_addr_area): Use gcc_assert and
+       gcc_unreachable as appropriate.
+       (ia64_expand_load_address, ia64_expand_tls_address,
+       ia64_split_tmode, ia64_split_tmode_move, ia64_expand_compare,
+       ia64_expand_vecint_compare, ia64_expand_vecint_minmax,
+       next_scratch_gr_reg, ia64_initial_elimination_offset,
+       ia64_expand_prologue, ia64_expand_epilogue,
+       ia64_output_dwarf_dtprel, ia64_print_operand,
+       ia64_register_move_cost, first_instruction, rws_access_regno,
+       update_set_flags, rtx_needs_barrier, group_barrier_needed_p,
+       ia64_sched_init, ia64_variable_issue,
+       ia64_first_cycle_multipass_dfs_lookahead_guard,
+       ia64_dfa_new_cycle, issue_nops_and_insn, get_template, bundling,
+       ia64_st_address_bypass_p, ia64_ld_address_bypass_p, process_set,
+       process_for_unwind_directive, ia64_hpux_file_end): Likewise.
+       * config/ia64/ia64.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+       * config/ia64/ia64.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
+       * config/ia64/predicates.md (got_symbolic_operand,
+       sdata_symbolic_operand): Likewise.
+       * config/ia64/vect.md (vcondv2sf): Likewise.
+
+2005-04-27  Matt Thomas <matt@3am-software.com>
+
+       * config/vax/vax.c (legitimate_constant_address_p): New.  Formerly
+       CONSTANT_ADDRESS_P in config/vax/vax.h
+       (legitimate_constant_p): Added.  Formerly CONSTANT_P in vax.h. 
+       (INDEX_REGISTER_P): New.
+       (BASE_REGISTER_P): New.
+       (indirectable_constant_address_p): New.  Adapted from
+       INDIRECTABLE_CONSTANT_ADDRESS_P in vax.h. Use SYMBOL_REF_LOCAL_P.
+       (indirectable_address_p): New.  Adapted from
+       INDIRECTABLE_ADDRESS_P in vax.h.
+       (nonindexed_address_p): New.  Adapted from
+       GO_IF_NONINDEXED_ADDRESS in vax.h.
+       (index_temp_p): New.  Adapted from INDEX_TERM_P in vax.h.
+       (reg_plus_index_p): New.  Adapted from GO_IF_REG_PLUS_INDEX in vax.h.
+       (legitimate_address_p): New.  Adapted from
+       GO_IF_LEGITIMATE_ADDRESS in vax.h.
+       (vax_mode_dependent_address_p): New.  Adapted from
+       GO_IF_MODE_DEPENDENT_ADDRESS in vax.h.
+       * config/vax/vax.h (CONSTANT_ADDRESS_P): Use
+       legitimate_constant_address_p.
+       (CONSTANT_P): Use legitimate_constant_p.
+       (INDIRECTABLE_CONSTANT_ADDRESS_P): Removed.
+       (INDIRECTABLE_ADDRESS_P): Removed.
+       (GO_IF_NONINDEXED_ADDRESS): Removed.
+       (INDEX_TEMP_P): Removed.
+       (GO_IF_REG_PLUS_INDEX): Removed.
+       (GO_IF_LEGITIMATE_ADDRESS): Use legitimate_address_p. Two
+       definitions, depending on whether REG_OK_STRICT is defined.
+       (GO_IF_MODE_DEPENDENT_ADDRESS): Use vax_mode_dependent_address_p.
+       Two definitions, depending on whether REG_OK_STRICT is defined.
+       * config/vax/vax-protos.h (legitimate_constant_address_p): Prototype
+       added.
+       (legitimate_constant_p): Prototype added.
+       (legitimate_address_p): Prototype added.
+       (vax_mode_dependent_address_p): Prototype added.
+
+2005-04-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree.h (phi_arg_d): Expand a comment in phi_arg_d.
+
+2005-04-27  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/21213
+       * c-decl.c (finish_struct): Don't dereference NULL TYPE_FIELDS of
+       transparent union.
+
+2005-04-27  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/20740
+       * c-format.c (init_dynamic_asm_fprintf_info): Give errors, not
+       assertion failures, if __gcc_host_wide_int__ is not properly
+       defined.
+       (init_dynamic_diag_info): Give errors, not assertion failures, if
+       location_t, tree or __gcc_host_wide_int__ are not properly
+       defined.
+
+2005-04-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-loop-ivopts.c (ivopts_data, decl_rtl_to_reset,
+       n_iv_uses, iv_use, n_iv_cands, iv_cand,
+       tree_ssa_iv_optimize_init, record_use, add_candidate_1,
+       prepare_decl_rtl, free_loop_data,
+       tree_ssa_iv_optimize_finalize): Use the VEC API instead of
+       VARRAY.
+
+       * tree.h (tree_phi_node): Add a comment about the order of PHI
+       arguments.
+
+2005-04-26  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.md (thumb_mulsi3): Use two-operand assembly form.
+
+2005-04-26  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/mips.mips.c (mips_legitimize_tls_address): Use
+       gcc_unreachable.
+
+       * config/mmix/mmix.c (mmix_assemble_integer): Use gcc_assert.
+       * config/mmix/crti.asm (_init): Reword comment to avoid 'abort'.
+       * config/mmix/mmix.md (nonlocal_goto_receiver): Likewise.
+
+       * config/sparc/sparc.h (enum reg_class): Reword comment to avoid
+       'abort'.
+
+2005-04-26  Jeff Law  <law@redhat.com>
+
+       * tree-flow-inline.h (op_iter_next_must_and_may_def): New.
+       (op_iter_init_must_and_may_def): Likewise.
+       (unmodifiable_var_p): Move to a later point in the file.
+       * tree-ssa-operands.h (FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND): New.
+       * tree-ssa-dse.c (need_imm_uses_for): Remove, no longer needed.
+       (dse_record_phis): Directly check for virtual operands rather than
+       using need_imm_uses_for.
+       (dse_optimize_stmt): Handle V_MUST_DEF operands.  Handle case where
+       store has multiple V_{MAY,MUST}_DEF operands.
+
+2005-04-26  Andrew MacLeod  <amacleod@redhat.com>
+
+       * tree-cfg.c (bsi_replace): Delink immediate uses for the original
+       stmt.
+
+2005-04-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (lv_adjust_loop_header_phi): Speed up moving a
+       call to find_edge outside a loop to go through a PHI chain.
+
+2004-04-26  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       PR tree-optimization/17598
+       * fold-const.c (fold_binary): Fold comparisons of addresses
+       of COMPONENT_REFs which reference the same field to
+       comparisons of the addresses of the base objects.
+
+2005-04-26  Julian Brown  <julian@codesourcery.com>
+
+       * config/arm/arm.c (arm_return_in_msb): New function.
+       (arm_must_pass_in_stack): New function.
+       (TARGET_RETURN_IN_MSB): Define target hook.
+       (TARGET_MUST_PASS_IN_STACK): Define target hook.
+       (arm_function_value): Pad small aggregate return.
+       (arm_pad_arg_upward): New function.
+       (arm_pad_reg_upward): New function.
+       * config/arm/arm.h (PROMOTE_FUNCTION_MODE): Include complex values.
+       (FUNCTION_ARG_PADDING): Define macro.
+       (BLOCK_REG_PADDING): Define macro.
+       (PAD_VARARGS_DOWN): Correct padding for AAPCS.
+       * config/arm/arm-protos.h (arm_pad_arg_upward): Declare function.
+       (arm_pad_reg_upward): Declare function.
+
+2005-04-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * basic-block.h (ei_cond): New.
+       (FOR_EACH_EDGE): Call ei_cond.
+
+       PR tree-optimization/21047
+       * fold-const.c (fold_binary): Abort on ASSERT_EXPR.
+       (fold): Don't handle ASSERT_EXPR.
+
+2005-04-25  Roger Sayle  <roger@eyesopen.com>
+
+       * sched-deps.c (sched_analyze_1): On STACK_REGS targets, x87, treat
+       all writes to any stack register as a read/write dependency on
+       FIRST_STACK_REG.
+       (sched_analyze_2): Likewise, for reads from any stack register.
+
+2005-04-25  Richard Henderson  <rth@redhat.com>
+
+       * final.c (output_addr_const): Revert 2005-04-09 change.
+
+2005-04-25  Mike Stump  <mrs@apple.com>
+
+       * config/darwin.c (darwin_encode_section_info): Always set
+       MACHO_SYMBOL_STATIC for all ! TREE_PUBLIC symbols.
+
+2005-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * collect2.c, gcc.c, gcov-dump.c, gcov.c, gen-protos.c,
+       gensupport.c, protoize.c, toplev.c: Replace calls to
+       `unlock_stream' with `unlock_std_streams'.
+
+2005-04-25  Devang Patel <dpatel@apple.com>
+
+       * dbxout.c (dbxout_type): Emit attribute vector.
+       
+2005-04-05  Paul Brook  <paul@codesourcery.com>
+
+       * target-def.h (TARGET_CXX_USE_AEABI_ATEXIT): Define.
+       * target.h (struct gcc_target): Add cxx.use_aeabi_atexit.
+       * config/arm/arm.c (arm_cxx_atexit_name): New function.
+       (TARGET_CXX_USE_AEABI_ATEXIT): New macro.
+       * cp/decl.c (get_atexit_node): Reorder arguments for __aeabi_atexit.
+       (register_dtor_fn): Likewise.
+       * doc/tm.texi: Document TARGET_CXX_USE_AEABI_ATEXIT.
+
+2005-04-25  Ian Lance Taylor  <ian@airs.com>
+
+       * c-common.def (EXPR_STMT): Remove, moved to C++ frontend.
+       * c-common.h (EXPR_STMT_EXPR): Don't define.
+       (c_common_stmt_codes): Don't define.
+       * c-dump.c (c_dump_tree): Remove EXPR_STMT case.
+       * c-gimplify.c (gimplify_expr_stmt): Remove.
+       (c_gimplify_expr): Remove EXPR_STMT case.
+       * c-objc-common.c (c_objc_common_init): Remove stmt_codes and call
+       to INIT_STATEMENT_CODES.
+       * c-pretty-print.c (pp_c_statement): Just call dump_generic_node.
+
+2005-04-25  Jan Hubicka  <jh@suse.cz>
+
+       * tree-cfg.c (tree_duplicate_bb): Duplicate EH region too.
+
+       * except.c: Include diagnostic.h
+       (dump_eh_tree, verify_eh_tree): New functions.
+       * except.h (verify_eh_tree, dump_eh_tree, verify_eh_edges): Declare.
+       * tree-cfg.c (tree_verify_flow_info): verify eh edges.
+       (dump_function_to_file): dump eh tree.
+       * tree-eh.c (mark_eh_edge): New function.
+       (mark_eh_edge_found_error): New static variable.
+       (verify_eh_edges): New function.
+
+2005-04-25  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * tree-ssa-alias.c (fieldoff_t): Remove.
+       (fieldoff_s): typedef the structure itself.  Create a vector of
+       objects.
+       (push_fields_onto_fieldstack): Return count of fields pushed.
+       Remove peeling of first field.  Adjust.
+       (fieldoff_compare): Adjust.
+       (create_overlap_variables_for): Adjust.
+
+2005-04-25  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * doc/invoke.texi (Blackfin Options): Avoid empty @opindex line.
+
+2005-04-25  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR bootstrap/21215
+       * doc/install.texi: Document correct assembler and linker to use
+       on i?86-*-solaris2.10.
+
+2005-04-25  Steven Bosscher  <stevenb@suse.de>
+
+       Fix PR tree-optimization/21173
+
+       * tree-ssa-pre.c (create_expression_by_pieces): Simplify code.
+       Unshare expression we pass to force_gimple_operand.
+
+2005-04-25  J"orn Rennecke <joern.rennecke@st.com>
+           Stephen Clarke <stevec@superh.com>
+           Roger Sayle <roger@eyesopen.com>
+
+       PR rtl-optimization/20413
+       * cfgrtl.c (redirect_edge_and_branch): Use Pmode instead of
+       VOIDmode for LABEL_REF.
+       * final.c (shorten_branches): Likewise.
+       * jump.c (mark_all_labels, redirect_exp_1): Likewise.
+       * loop.c (reg_dead_after_loop): Likewise.
+       * varasm.c (decode_addr_const): Likewise.
+       * doc/rtl.texi: Document mode requirement for LABEL_REF.
+
+2005-04-25  Ralf Corsepius  <ralf.corsepius@rtems.org>
+
+       * config.gcc (avr-*-*): Remove redundant "case".
+
+2005-04-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-vect-analyze.c (vect_mark_relevant): Take
+       VEC(tree,heap) instead of varray_type as an argument.
+       (vect_mark_stmts_to_be_vectorized): Change the type of
+       worklist to VEC(tree,heap).  Adjust uses of worklist.
+
+2005-04-24  Devang Patel  <dpatel@apple.com>
+
+       *  config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
+       
+2005-04-24  Ian Lance Taylor  <ian@airs.com>
+
+       * c-semantics.c (build_stmt): Remove test of specific tree codes
+       for TREE_SIDE_EFFECTS handling.
+
+2005-04-24  Per Bothner  <per@bothner.com>
+
+       * c-opts.c (finish_options):  Make the line-number of the <built-in>
+       location 0, as assumed elsewhere, rather than 1.
+
+2005-04-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-uncprop.c (equiv_stack): Change the type o
+       VEC(tree,heap).
+       (tree_ssa_uncprop, uncprop_finalize_block,
+       uncprop_initialize_block): Update uses of equiv_stack.
+
+2005-04-24  Richard Henderson  <rth@redhat.com>
+
+       PR rtl-opt/21163
+       * simplify-rtx.c (simplify_binary_operation) <IOR>: Check
+       for SCALAR_INT_MODE_P instead of not MODE_CC before returning
+       constm1_rtx.
+       <AND, LSHIFTRT, UMIN>: Use CONST0_RTX.
+       <UDIV, UMOD>: Use CONST0_RTX and CONST1_RTX.
+       <DIV, MOD>: Likewise.
+
+2005-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * collect2.c (main): Unlock the stdio streams.
+       * gcc.c (main): Likewise.
+       * gcov-dump.c (main): Likewise.
+       * gcov.c (main): Likewise.
+       * gen-protos.c (main): Likewise.
+       * gensupport.c (init_md_reader_args_cb): Likewise.
+       * protoize.c (main): Likewise.
+       * toplev.c (general_init): Likewise.
+
+2005-04-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/20991
+       * cgraph.h (cgraph_local_info): Add vtable_method field.
+       * varasm.c (mark_decl_referenced): If cgraph_global_info_ready
+       and node is vtable_method, finalized and not reachable, don't do
+       anything.
+
+2005-04-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Use
+       COMPARISON_CLASS_P.
+       * tree-ssa-pre.c (create_value_expr_from): Use
+       CONSTANT_CLASS_P and REFERENCE_CLASS_P.
+       * tree-ssa-propagate.c (stmt_makes_single_load,
+       stmt_makes_single_store): Use REFERENCE_CLASS_P.
+       * tree-vect-transform.c (vect_is_simple_cond): Use
+       COMPARISON_CLASS_P.
+       * tree-vrp.c (extract_range_from_assert,
+       build_assert_expr_for, fp_predicate, has_assert_expr): Use
+       COMPARISON_CLASS_P.
+
+       * tree-ssa-live.c (build_tree_conflict_graph): Change the type
+       of tpa_to_clear to VEC(int,heap).  Update uses of
+       tpa_to_clear.  Free tpa_to_clear at the end.
+
+2005-04-24  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * tree.h (TREE_THIS_VOLATILE): Document the effect on a
+       function decl.
+
+2005-04-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Use gcc_assert
+       and gcc_unreachable as appropriate.
+       (num_insns_constant, output_vec_const_move,
+       build_mask64_2_operands, rs6000_output_dwarf_dtprel,
+       rs6000_emit_set_const, rs6000_emit_move,
+       spe_build_register_parallel, function_arg,
+       rs6000_move_block_from_reg, altivec_expand_predicate_builtin,
+       spe_expand_predicate_builtin, spe_expand_evsel_builtin,
+       rs6000_expand_builtin, spe_init_builtins, altivec_init_builtins,
+       rs6000_common_init_builtins, expand_block_clear,
+       expand_block_move, validate_condition_mode, ccr_bit, extract_MB,
+       extract_ME, rs6000_get_some_local_dynamic_name,
+       rs6000_output_function_entry, print_operand,
+       print_operand_address, rs6000_generate_compare, rs6000_emit_sCOND,
+       output_cbranch, output_e500_flip_gt_bit,
+       rs6000_emit_vector_compare, rs6000_emit_vector_compare,
+       rs6000_emit_cmove, rs6000_emit_minmax, rs6000_split_multireg_move,
+       compute_save_world_info, rs6000_stack_info,
+       rs6000_emit_load_toc_table, rs6000_frame_related,
+       spe_synthesize_frame_save, rs6000_emit_epilogue,
+       rs6000_output_function_epilogue, rs6000_hash_constant, output_toc,
+       output_function_profiler, rs6000_trampoline_size,
+       rs6000_initialize_trampoline, find_addr_reg,
+       rs6000_machopic_legitimize_pic_address,
+       rs6000_initial_elimination_offset,
+       rs6000_dbx_register_number): Likewise.
+       * config/rs6000/rs6000.md (*fix_truncdfsi2_internal,
+       *movdf_hardfloat32, *movdf_softfloat32, *fix_trunctfsi2_internal,
+       *movti_power, *movti_string, call, call_value, sibcall,
+       sibcall_value): Likewise.
+       * config/rs6000/spe.md (*movdf_e500_double,
+       *movv2si_internal): Likewise.
+       * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Remove 'abort'
+       from comment.
+
+2005-04-24  Richard Henderson  <rth@redhat.com>
+
+       PR target/21101
+       * config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Move guts to ...
+       * config/i386/i386.c (ix86_cannot_change_mode_class): ... here.
+       Deny modes smaller than 4 bytes.
+       * config/i386/i386-protos.h: Update.
+
+2005-04-24  Ralf Corsepius  <ralf.corsepius@rtems.org>
+
+       * config.gcc (h8300-*-rtems*): Add h8300-*-rtemscoff*.
+       Switch h8300-*-rtems* to ELF.
+
+2005-04-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * vec.h (VEC_safe_grow): Replace grow with safe_grow.
+
+2005-04-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * ipa-inline.c, tree-ssa-operands.h: Fix comment typos.
+
+2005-04-23  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       PR middle-end/21082
+       * fold-const.c: Fold &a[i]-&a[j] to i-j.
+
+2005-04-23  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-niter.c (tree_simplify_using_condition): Expand simple
+       definitions of ssa names in condition.  Split recusive part to ...
+       (tree_simplify_using_condition_1): New function.
+       (expand_simple_operations): New function.
+
+2005-04-23  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-ivopts.c (struct cost_pair): Add value field.
+       (find_interesting_uses_cond): Do not use integer_zerop and
+       integer_nonzerop to check for integer constants.
+       (set_use_iv_cost): Record the value field.
+       (determine_use_iv_cost_generic, determine_use_iv_cost_address,
+       determine_use_iv_cost_outer): Set the value field of the cost pair.
+       (may_eliminate_iv): Do not return the comparison code.
+       (iv_elimination_compare): New function.
+       (determine_use_iv_cost_condition): Set the value field.  Record
+       noneliminable invariants correctly.
+       (rewrite_use_compare, rewrite_use_outer): Use the value field.
+
+2005-04-23  DJ Delorie  <dj@redhat.com>
+
+       * diagnostic.c (warning): Accept parameter to classify warning option.
+       (warning0): New, for when a pointer to an error() like function is needed.
+       * errors.c (warning): Likewise.
+       * errors.h (warning, warning0): Adjust prototypes.
+       * toplev.h (warning, warning0): Likewise.
+
+       * attribs.c, builtins.c, c-common.c, c-decl.c, c-format.c,
+       c-gimplify.c, c-lex.c, c-objc-common.c, c-opts.c, c-parser.c,
+       c-pragma.c, c-typeck.c, calls.c, cgraph.c, coverage.c, emit-rtl.c,
+       fold-const.c, fortran/trans-decl.c, function.c, gcse.c,
+       genautomata.c, haifa-sched.c, opts.c, passes.c, regclass.c,
+       reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
+       tree-dump.c, tree-inline.c, tree-mudflap.c, tree-optimize.c,
+       tree-ssa.c, tree.c, varasm.c: Adjust warning() callers.
+
+       * config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
+       config/avr/avr.c, config/bfin/bfin.c, config/c4x/c4x-c.c,
+       config/c4x/c4x.c, config/cris/cris.c, config/darwin-c.c,
+       config/darwin.c, config/darwin.h, config/h8300/h8300.c,
+       config/i386/cygming.h, config/i386/djgpp.h, config/i386/i386.c,
+       config/i386/winnt.c, config/ia64/ia64-c.c, config/ia64/ia64.c,
+       config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
+       config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.c,
+       config/mmix/mmix.c, config/ns32k/ns32k.c, config/pa/pa-hpux11.h,
+       config/pa/pa.c, config/rs6000/aix43.h, config/rs6000/aix51.h,
+       config/rs6000/aix52.h, config/rs6000/darwin.h,
+       config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
+       config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
+       config/sh/symbian.c, config/sol2-c.c, config/sol2.c,
+       config/stormy16/stormy16.c, config/v850/v850-c.c,
+       config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning()
+       callers.
+       
+2005-04-23  Richard Henderson  <rth@redhat.com>
+
+       PR rtl-opt/21102
+       * simplify-rtx.c (simplify_binary_operation): Fix mode check before
+       performing some integral scalar simplifications.
+
 2005-04-23  Richard Henderson  <rth@redhat.com>
 
        PR target/21099