OSDN Git Service

Fix for PR 18010, copy epilogue unwind info when copying epilogue insns.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index bafae45..38c6bfc 100644 (file)
@@ -1,3 +1,734 @@
+2004-10-26  James E Wilson  <wilson@specifixinc.com>
+
+       PR target/18010
+       * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
+
+2004-10-26  Zack Weinberg  <zack@codesourcery.com>
+
+       * dbxout.c: Include obstack.h.
+       (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
+       default definition.
+       (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
+       Default-define here.
+       (DBX_CONTIN_LENGTH): Move definition with others.
+       (DBX_FINISH_STABS): New target macro.
+       (current_sym_code, current_sym_value, current_sym_addr)
+       (current_sym_nchars, CHARS, dbxout_continue)
+       (print_int_cst_octal, print_octal, print_wide_int)
+       (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
+       (stabstr_ob, stabstr_last_contin_point): New variables.
+       (NUMBER_FMT_LOOP): New improper macro.
+       (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
+       (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
+       (dbxout_stab_value_internal_label_diff, dbxout_stabd)
+       (dbxout_begin_stabn, dbxout_begin_stabn_sline)
+       (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
+       (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
+       (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
+       (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
+       New functions and/or proper function-like macros.
+       (CONTIN): Use stabstr_continue, unconditionally.
+       (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
+       (dbxout_init): Initialize stabstr_ob.  Check
+       NO_DBX_MAIN_SOURCE_DIRECTORY.  Only write out the Ltext label
+       if it was used.  Use the new interfaces.
+       (dbxout_source_file): Remove file argument; always write to
+       asm_out_file.  Use the new interfaces.
+       (dbxout_type_method_1): Remove second argument which is always
+       DECL_ASSEMBLER_NAME of the first argument.  Use the new interfaces.
+       (dbxout_type_methods): Remove write-only variables.  Use the
+       new interfaces.
+       (dbxout_parms): Refactor to remove code duplicated in each of
+       several successive if-else-if blocks.  Use the new interfaces.
+       (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
+       (dbxout_source_line, dbxout_finish, dbxout_type_index)
+       (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
+       (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
+       (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
+       (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
+       Use the new interfaces.
+       * Makefile.in (dbxout.o): Update dependencies.
+
+       * defaults.h: Don't define ASM_STABD_OP.
+       * output.h: Prototype new dbxout_* interfaces.
+       * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
+       * varasm.c: Don't define ASM_STABS_OP.
+       (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
+       Use the new dbxout.c interfaces.  Call sorry if neither
+       DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
+
+       * xcoffout.h: Don't define ASM_STABS_OP.
+       (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
+       (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
+       (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
+       (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
+       do { ... } while (0) idiom.
+
+       * config/alpha/alpha.c (num_source_filenames): Export.
+       * config/alpha/alpha.h (num_source_filenames): Declare.
+       (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
+       (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
+       * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
+       Always use .debugsym.  Update commentary.
+       * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
+       (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
+       * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
+       Use new interfaces.
+       * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
+       (macho_branch_islands): Use new interfaces.
+
+       * doc/tm.texi: Update.
+
+2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * expr.c (emit_group_store): Do not treat floats as BLKmode.
+       (emit_group_load): Same.
+
+2004-10-26  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-parse.in (datadef): Use pedwarn rather than error and warning
+       for diagnostic in case of no declaration specifiers.
+
+2004-10-26  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR bootstrap/15747
+       * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
+       reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
+       can be used to work around this.
+
+2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
+       doubles.
+
+2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * stmt.c (expand_case): Update a comment.
+
+2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * stmt.c (expand_case): Put an assertion that index_expr is
+       never INTEGER_CST.  Don't special case for constant
+       index_expr.
+
+2004-10-26  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR 18162
+       * c-parse.in (designator): Finish with a semi-colon.
+
+2004-10-26  Fariborz Jahanian <fjahanian@apple.com>
+
+       * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
+       into rotlsi3.
+
+2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
+       a default case only.
+
+2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
+       e500 doubles.
+       (spe_build_register_parallel): New.
+       (rs6000_spe_function_arg): Handle e500 doubles.
+       (function_arg): Same.
+       (spe_func_has_64bit_regs_p): Same.
+       (rs6000_function_value): Same.
+       (rs6000_libcall_value): Same.
+       (legitimate_lo_sum_address_p): Return false for e500 doubles.
+
+       * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
+       doubles.
+       (DATA_ALIGNMENT): Same.
+       (CANNOT_CHANGE_MODE_CLASS): Same.
+
+2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * expr.c (emit_group_load): Handle floats.
+       (emit_group_store): Same.
+
+2004-10-26  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * c-lex.c (get_nonpadding_token): Remove.
+       (c_lex_with_flags): Push timevar and eat padding here.  Improve
+       stray token diagnostic.
+       (lex_string): Replace logic with switch statement, eat padding
+       token here.
+
+2004-10-26  Geoffrey Keating  <geoffk@apple.com>
+
+       PR 18149
+       * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
+
+2004-10-25  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
+       to 'non-weak'.
+       (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
+       (ASM_MAKE_LABEL_LINKONCE): Delete.
+       (ASM_WEAKEN_DECL): New.
+       (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
+       (ASM_DECLARE_FUNCTION_NAME): Likewise.
+       (TEXT_SECTION_ASM_OP): Add a tab.
+       (DATA_SECTION_ASM_OP): Likewise.
+       (SECTION_FUNCTION): Add a tab.  Use fputs.  Don't call
+       data_section on every section change.
+       (EXTRA_SECTIONS): Add a bunch of new extra sections.
+       (EXTRA_SECTION_FUNCTIONS): Likewise.
+       (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
+       (JCR_SECTION_NAME): Define.
+       (TARGET_SECTION_TYPE_FLAGS): Don't define.
+       * config/darwin.c (darwin_encode_section_info): A symbol is defined
+       in this file if it is not weak.
+       (textcoal_section): Delete.
+       (datacoal_section): Delete.
+       (darwin_make_decl_one_only): Delete.
+       (machopic_select_section): Handle functions.
+       (darwin_asm_named_section): Add a tab.
+       (darwin_section_type_flags): Delete.
+       (darwin_unique_section): Delete contents.
+       (darwin_emit_unwind_label): Add a tab.  Make decls weak if
+       DECL_WEAK is set.
+       * config/darwin-protos.h (darwin_section_type_flags): Delete.
+       (darwin_make_decl_one_only): Delete.
+       (text_coal_section): New.
+       (text_unlikely_section): New.
+       (text_unlikely_coal_section): New.
+       (const_coal_section): New.
+       (data_coal_section): New.
+       (const_data_coal_section): New.
+       * varasm.c (function_section): Honour
+       USE_SELECT_SECTION_FOR_FUNCTIONS.
+       * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
+       TARGET_USES_WEAK_UNWIND_INFO is in effect.
+       * dbxout.c (dbxout_source_file): Don't change sections while
+       a function is being output.
+
+2004-10-25  David Ayers  <d.ayers@inode.at>
+
+       * c-common.h: Remove RID_ID.
+       * c-parse.in: Remove OBJECTNAME and references to RID_ID.
+       (typespec_reserved_attr): Add rule for TYPENAME
+       non_empty_protocolrefs.
+       (yylexname): Remove special handling of RID_ID.
+
+2004-10-25  James E Wilson  <wilson@specifixinc.com>
+
+       * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
+
+2004-10-25  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/16667
+       * c-parse.in (array_designator): New.
+       (designator): Use it.
+       (initelt): Only permit array_designator without '=', not ".foo".
+
+2004-10-25  Kenneth Zadeck <zadeck@naturalbridge.com>
+       * gcc/Makefile.in: removed ggc for cgraphunit.
+       * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
+       * gcc/cgraph.h: removed static var analysis data structures and calls.
+       * gcc/cgraphunit.c:
+       cgraph_mark_local_and_external_functions:changed name to
+               cgraph_mark_local_functions
+       (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
+       cgraph_reset_static_var_maps,get_global_static_vars_info,
+       get_global_statics_not_read,get_global_statics_not_written,searchc,
+       cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
+       check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
+       scan_for_static_refs,cgraph_characterize_statics_local,
+       clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
+       removed.
+       (cgraph_optimize,init_cgraph): removed calls to static vars analysis
+       * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
+       analysis
+       * gcc/tree-flow.h static_vars_info: removed
+       * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
+       removed calls to static vars analysis.
+       get_call_expr_operands: removed callee variable.
+
+2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfg.c (unchecked_make_edge, redirect_edge_succ,
+       redirect_edge_pred): Use VEC_safe_push instead of
+       VEC_safe_insert.
+       * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
+
+2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfgloopmanip.c (loopify): Take two more arguments true_edge
+       and false_edge.
+       * cfgloop.h: Adjust the corresponding prototype.
+       * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
+       * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
+
+2004-10-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
+       DECL_INCOMING_RTL is NULL.
+
+2004-10-25  Steven Bosscher  <stevenb@suse.de>
+
+       * timevar.def (TV_FIND_REFERENCED_VARS): New.
+       * tree-dfa.c (pass_referenced_var): Use it.
+
+2004-10-25  Roger Sayle  <roger@eyesopen.com>
+           John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * cse.c: Change encoding of quantity numbers to avoid undefined
+       pointer arithmetic on qty_table.
+       (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
+       (get_cse_reg_info): Initialize reg_qty to a unique negative value.
+       (new_basic_block): Assign "real" quantity numbers from zero.
+       (delete_reg_equiv): Do nothing if quantity is invalid.  Reset the
+       REG_QTY to its unique negative value.
+       (merge_equiv_classes): Calculate need_rehash if quantity is valid.
+       (cse_main): Don't include max_reg when determining max_qty.
+       (cse_basic_block): Avoid subtracting a large offset from qty_table,
+       which causes undefined C99 behaviour.  Only allocate needed memory.
+
+2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * stmt.c (expand_case): Remove an obsolete comment.
+
+2004-10-25  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/17407
+       * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
+       layout_type as it is already done by build_array_type.
+       * tree.c (build_array_type): Layout the type even
+
+2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
+
+2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
+       with wider-than-32-bit HOST_WIDE_INTs.
+
+2004-10-25  David Billinghurst <David.Billinghurst@riotinto.com>
+
+       * config/mips/mips.c(mips_output_filename): Remove unused
+       array ltext_label_name
+
+2004-10-24  Geoffrey Keating  <geoffk@geoffk.org>
+
+       * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
+
+2004-10-25  Ben Elliston  <bje@au.ibm.com>
+
+       * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
+
+2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * predict.c (predict_loops): Call scev_finalize instead of
+       scev_reset.
+
+2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
+       config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
+       config/sh/ushmedia.h, config/sparc/elf.h,
+       config/sparc/sp64-elf.h: Update copyright.
+
+2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * stmt.c (expand_case): Handle the default label outside of
+       the for loop.  Remove code to handle a missing default label.
+
+2004-10-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * dbxout.c (dbxout_function_decl): Don't use
+       DBX_OUTPUT_FUNCTION_END.
+       * system.h: Poison DBX_OUTPUT_FUNCTION_END.
+       * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
+
+2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/17967
+       * tree-cfg.c (remove_usless_stmts_cond):  Don't Fold statement.
+
+2004-10-23  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-dom.c (record_equality): Use loop depth to determine
+       which way to record the equality as well.
+       (loop_depth_of_name): New function.
+
+2004-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/17793
+       * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
+       through the operand if it is a useless type conversion.
+
+2004-10-23  Ben Elliston  <bje@au.ibm.com>
+
+       * cfg.c (remove_edge): Use VEC_unordered_remove.
+       (redirect_edge_succ): Likewise.
+       (redirect_edge_pred): Likewise.
+       * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
+
+2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
+       beyond its end.
+
+2004-10-22  Eric Christopher  <echristo@redhat.com>
+
+       * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
+       saves.
+
+2004-10-22  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/spe.md (spe_extendsfdf2): New.
+       (movdf_e500_double): New.
+       (spe_truncdfsf2): New.
+       (spe_absdf2): New.
+       (spe_nabsdf2): New.
+       (spe_negdf2): New.
+       (sub_adddf3): New.
+       (spe_subdf3): New.
+       (spe_muldf3): New.
+       (spe_floatsidf2): New.
+       (spe_floatunssidf2): New.
+       (fix_truncdfsi2): New.
+       (spe_fixuns_truncdfsi2): New.
+
+       * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
+       (fpr_truncdfsf2): New.
+       (negdf2): Change to expander.
+       (fpr_negdf2): New.
+       (fpr_nabsdf2): Name pattern.
+       (adddf3): Change to expander.
+       (fpr_adddf3): Nem.
+       (subdf3): Change to expander.
+       (fpr_subdf3): New.
+       (muldf3): Change to expander.
+       (fpr_muldf3): New.
+       (divdf3): Change to expander.
+       (fpr_divdf3): New.
+       (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
+       (cmpdf): Allow for TARGET_E500_DOUBLE.
+
+2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-semantics.c (re_push_stmt_list): Remove.
+       * c-common.h: Remove the corresponding prototype.
+
+2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * stmt.c (asm_op_is_mem_input): Remove.
+       * tree.h: Remove the corresponding prototype.
+
+2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-gimple.c (is_gimple_constructor_elt): Remove.
+       * tree-gimple.h: Remove the corresponding prototype.
+
+2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * varasm.c (get_pool_mode_for_function, get_pool_offset):
+       Remove.
+       * rtl.h: Remove the corresponding prototypes.
+
+2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
+       edge information when we commit ourselves to threading a
+       particular jump.
+
+2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
+       into worklist instead of their indexes.
+
+2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
+       final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
+       lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
+       pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
+       tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
+       tree-scalar-evolution.c, tree-ssa-dom.c,
+       tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
+       tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
+       tree-vectorizer.c, vec.h: Fix comment formatting.
+
+2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
+       libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
+
+2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/ptx4.h, config/mcore/mcore-pe.h,
+       config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
+
+2004-10-22  Peter Barada <peter@the-baradas.com>
+
+       * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
+       * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
+       renaming of non-live registers in interrupt functions.
+       * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
+
+2004-10-22  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
+       Use integer for loop counter.
+       (num_ending_zeros): New function.
+       (number_of_iterations_cond): Use num_ending_zeros.
+
+2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config.gcc: Add support for --enable-e500_double.
+
+       * config/rs6000/e500-double.h: New file.
+
+       * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
+       TARGET_E500_DOUBLE.
+
+       * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
+       TARGET_E500_DOUBLE.
+
+       * config/rs6000/linuxspe.h: Same.
+
+       * doc/invoke.texi (Option Summary): Document new options for
+       mfloat-gprs.
+       (RS/6000 and PowerPC Options): Same.
+
+       * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
+       function.
+       (rs6000_override_options): Use it.  Use
+       SUB3TARGET_OVERRIDE_OPTIONS.
+       Add 8548 to processor_target_table.
+       (rs6000_legitimate_address): Handle e500 doubles.
+       (rs6000_legitimize_address): Same.
+       (rs6000_legitimize_reload_address): Same.
+       (rs6000_hard_regno_nregs): Same.
+       (spe_func_has_64bit_regs_p): Same.
+       (emit_frame_save): Same.
+       (gen_frame_mem_offset): Same.
+       (rs6000_dwarf_register_span): Same.
+       (rs6000_generate_compare): Same.
+       (easy_fp_constant): Same.
+       (legitimate_offset_address_p): Same.
+
+       * config/rs6000/spe.md: (cmdfeq_gpr): New.
+       (tstdfeq_gpr): New.
+       (cmpdfgt_gpr): New.
+       (tstdfgt_gpr): New.
+       (tstdfgt_gpr): New.
+       (cmpdflt_gpr): New.
+       (tstdflt_gpr): New.
+       Add new constants.
+
+2004-10-21  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
+
+2004-10-21  Zack Weinberg  <zack@codesourcery.com>
+
+       * dbxout.c: Remove unnecessary #undefs.
+       (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
+       (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
+       definition into use sites.
+       (cwd): Make local to dbxout_init.
+       (dbxout_init): Restructure cwd-using logic for clarity.  Use
+       IS_DIR_SEPARATOR.
+       * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
+       STABS_GCC_MARKER folded in here.
+       * system.h: Poison now-unused macros.
+       * doc/tm.texi: Remove documentation of now-unused macros.
+
+2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c/17538
+       * c-opts.c (push_command_line_include): Use the current file
+       name instead of the main one.
+
+2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR objc/17923
+       * tree.c (staticp): A CONST_DECL has static storage if either
+       TREE_STATIC or DECL_EXTERNAL is set.
+       * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
+       have null names.
+
+2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * expr.c (store_expr): Remove dont_store_target.
+
+2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (thread_jumps): Speed up by using a worklist.
+
+2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (thread_jumps): Move a part of it to ...
+       (thread_jumps_from_bb): ... here.
+
+2004-10-21  David Edelsohn  <edelsohn@gnu.org>
+
+       * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
+       * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
+
+2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * expr.c (store_expr): Clean up by renaming want_value to
+       call_param_p.
+
+2004-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
+       fixup pc here.
+
+2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR 18004.
+       * expmed.c (store_bit_field): Pass original 'value' before
+       recursing.
+
+2004-10-21  Nicolas Pitre <nico@cam.org>
+
+       * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
+       * config/arm/ieee754-df.S: Ditto.
+
+2004-10-20  Zack Weinberg  <zack@codesourcery.com>
+
+       * dbxout.c (asmfile): Delete.  All uses changed to asm_out_file.
+       (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
+       Default to 0.
+       (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
+       When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
+       an internal label and an N_SLINE .stabn whose value is the
+       difference between that label and the function entry label.
+       (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
+       but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
+       label and an N_SO stab with an empty string referring to it.
+       (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
+       of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
+       (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
+       (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
+       macro is never defined.
+       * sdbout.c (sdbout_source_line_counter): Delete.
+       (PUT_SDB_SRC_FILE): Delete.  Uses replaced with sole definition.
+       (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
+       only two arguments.
+       * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
+
+       * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
+       * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
+       definitions (identical to default).
+       * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
+       * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
+       Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
+       DBX_OUTPUT_MAIN_SOURCE_FILE_END.
+       * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
+       * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
+       Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
+       * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
+       * config/alpha/alpha.c: Move declaration of num_source_filenames up.
+       (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
+       (sym_lineno): Delete.
+       (alpha_output_filename): Do not emit N_SOL stabs here.  Remove
+       now-unused variable.
+       (alpha_output_lineno): Delete.
+       * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
+       * config/mips/mips.c (mips_output_filename): Don't use
+       ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
+       (mips_output_lineno): Delete.
+       (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
+       * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
+       SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
+       * config/mips/mips.h: Likewise.  Don't define ASM_OUTPUT_FILENAME.
+       * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
+       * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
+       * config/mmix/mmix.h: Likewise.
+       * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
+       * config/mmix/mmix-protos.h: Don't prototype it.
+       * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
+       no need to #undef ASM_OUTPUT_SOURCE_LINE.
+       * config/arm/aout.h: Remove RISCiX-specific definition of
+       DBX_OUTPUT_MAIN_SOURCE_FILENAME.
+       * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
+       ASM_OUTPUT_SOURCE_LINE.
+       * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
+       DBX_OUTPUT_SOURCE_LINE.  Don't use current_function_func_begin_label.
+       * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
+
+       * doc/tm.texi: Update.
+
+2004-10-20  Richard Henderson  <rth@redhat.com>
+
+       * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
+
+2004-10-20  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * configure.ac: Revert my previous patch.
+       * configure: Regenerate.
+
+2004-10-20  Ben Elliston  <bje@au.ibm.com>
+
+       * config/rs6000/rs6000.c
+       (rs6000_va_start): Use build_va_arg_indirect_ref.
+       (rs6000_gimplify_va_arg): Likewise.
+
+2004-10-20  Bryce McKinlay  <mckinlay@redhat.com>
+
+       PR java/15575
+       * configure.ac: Declare AM_LANGINFO_CODESET.
+       * aclocal.m4: Define AM_LANGINFO_CODESET.
+       * configure, config.in: Rebuilt.
+
+2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * expr.c (store_expr): Remove code that is run when
+       want_value & 1 is nonzero.
+
+2004-10-20  Mark Mitchell  <mark@codesourcery.com>
+
+       * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
+       from function pointer to void *.
+
+2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/18032
+       * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
+       the frame pointer adjustment when exception handling is enabled.
+
+2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * stor-layout.c: Fix a comment typo.
+
+2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * expr.c (store_field): Remove two arguments value_mode and
+       unsignedp.
+       (expand_assignment, store_constructor_field,
+       expand_expr_real_1): Adjust calls to store_field.
+
+2004-10-18  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
+
+       * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
+
+       PR target/17317
+       * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
+       REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
+       base and index register for loads.
+
+       * config/arc/t-arc: Fix multilib handling.
+
+2004-10-20  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
+       don't inspect BLOCK_FOR_INSN for barriers.
+       * emit-rtl.c (emit_barrier_before): Revert last change.
+       (emit_barrier_after, emit_barrier): Ditto.
+
+       * doc/extend.texi (Extended Asm): Warn and provide example
+       solution for using a call-clobbered asm register.
+       (Local Reg Vars): Similar.  Cross-reference example.
+
 2004-10-19  Andrew Pinski  <pinskia@physics.uc.edu>
 
        * tree-cfg.c (group_case_labels): Look at the second to last
        * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
 
 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
-            Roger Sayle  <roger@eyesopen.com>
+           Roger Sayle  <roger@eyesopen.com>
 
        PR middle-end/17813
        * dojump.c (discard_pending_stack_adjust): New function.
 
 2004-10-18  Richard Henderson  <rth@redhat.com>
 
-       * c-common.c (handle_mode_attribute): Allow scalar->vector 
+       * c-common.c (handle_mode_attribute): Allow scalar->vector
        type changes yet.
 
 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
        * params.def: Add parameter to restrict the number of expansions.
        * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
        the number of expansions.
-       * common.opt: (fvariable-expansion-in-unroller): New flag. 
+       * common.opt: (fvariable-expansion-in-unroller): New flag.
        * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
 
 2004-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
        Revert:
        2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
 
-        * c-typeck.c (default_function_array_conversion): Always create
-        &a[0] for array types.
-        (build_unary_op): Do not fold &a[x] into a + x.
+       * c-typeck.c (default_function_array_conversion): Always create
+       &a[0] for array types.
+       (build_unary_op): Do not fold &a[x] into a + x.
 
 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
 
        * tree.h (struct pointer_set_t): Declare as opaque type.
        (tree_walk): Last argument is pointer_set_t* now.
        * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
-       (walk_type_fields): 
+       (walk_type_fields):
        (walk_tree): Convert from htab_t to pointer_set_t for keeping
        track of which nodes have already been visited.
        (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
        (tree-inline.o): Depends on pointer-set.h
        (tree-dfa.o): Likewise
        (cgraphunit.o): Likewise
-       
+
 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
 
        * config/rs6000/darwin.h (ASM_SPEC): Delete.
        PR 17635
        * tree-if-conv.c (process_phi_nodes): Process latch block.
        (combine_blocks): Process latch block and update loop structure.
-       
+
 2004-10-14  Olga Golovanevsky  <olga@il.ibm.com>
 
        * tree-vectorizer.c (vect_generate_tmps_on_preheader):
        (tree_duplicate_loop_to_edge_cfg):
        (add_loop_guard):
        (vect_analyze_loop_with_symbolic_num_of_iters):
-       (verify_loop_for_duplication): 
+       (verify_loop_for_duplication):
        (vect_gen_niters_for_prolog_loop):
        (vect_update_niters_after_peeling):
        (vect_update_inits_of_dr):
        (vect_build_loop_niters):
        (vect_do_peeling_for_alignment): New functions.
        (vect_transform_loop): Add unknown and known but indivisible loop
-       bound support; add peeling for unalignment support. 
+       bound support; add peeling for unalignment support.
        (vect_analyze_loop_form): Support symbolic number of iterations.
        (vect_transform_loop_bound): New input parameter.
        (vect_get_loop_niters): Change input parameter type.
        (vectorize_loops): Add rewrite_into_loop_closed_ssa.
        (vect_analyze_data_refs_alignment): Allowed one unaligned
        store.
-       * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined 
+       * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
        to use tree.
        (LOOP_VINFO_INT_NITERS): New macro.
        (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
 
 2004-10-13  Richard Henderson  <rth@redhat.com>
 
-        PR c/17384
-        * c-common.c (handle_mode_attribute): Disallow mode changes that
-        alter the CODE of the top-level type.
-        * crtstuff.c (__FRAME_END__): Remove mode attribute.  Find 32-bit
-        integer from internal limits macros.
-        * config/i386/mm3dnow.h (__v2sf): Fix base type.
+       PR c/17384
+       * c-common.c (handle_mode_attribute): Disallow mode changes that
+       alter the CODE of the top-level type.
+
+       * crtstuff.c (__FRAME_END__): Remove mode attribute.  Find 32-bit
+       integer from internal limits macros.
+       * config/i386/mm3dnow.h (__v2sf): Fix base type.
 
 2004-10-13  Richard Henderson  <rth@redhat.com>
-        PR debug/13841
-        * function.c (instantiate_decl): Recurse for CONCAT.
+
+       PR debug/13841
+       * function.c (instantiate_decl): Recurse for CONCAT.
 
 2004-10-13  David Edelsohn  <edelsohn@gnu.org>
 
 
        * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
        * cfgloop.c (initialize_loops_parallel_p): New.
-       (flow_loops_find): Initialize the parallel_p field to true for all 
+       (flow_loops_find): Initialize the parallel_p field to true for all
        the loops.
        * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
-       (estimate_numbers_of_iterations_loop): Infers the loop bounds from 
+       (estimate_numbers_of_iterations_loop): Infers the loop bounds from
        the size of the data accessed in the loop.
-       (struct nb_iter_bound): Moved... 
+       (struct nb_iter_bound): Moved...
        * cfgloop.h (struct nb_iter_bound): ... here.
        (estimated_nb_iterations, parallel_p): New fields in struct loop.
        (record_estimate): Declare extern here.
        * tree-chrec.c: Fix comments.
        (nb_vars_in_chrec): New function.
        * tree-chrec.h (nb_vars_in_chrec): Declared here.
-       * tree-data-ref.c: Don't include lambda.h, that is already included 
+       * tree-data-ref.c: Don't include lambda.h, that is already included
        in tree-data-ref.h.
        (tree_fold_divides_p): Don't check for integer_onep.
        (tree_fold_bezout): Removed.
        (gcd): New static duplicated function.
        (int_divides_p, dump_subscript): New.
        (dump_data_dependence_relation): Use dump_subscript.
-       (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations, 
+       (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
        estimate_niter_from_size_of_data): New.
-       (analyze_array_indexes, analyze_array): Call 
-       estimate_niter_from_size_of_data during the detection of array 
-       references.  Pass in a pointer to the statement that contains the 
+       (analyze_array_indexes, analyze_array): Call
+       estimate_niter_from_size_of_data during the detection of array
+       references.  Pass in a pointer to the statement that contains the
        array reference.
        (all_chrecs_equal_p): New.
        (compute_distance_vector): Renamed compute_subscript_distance.
        Deal with multivariate conflict functions.
-       (initialize_data_dependence_relation): Initialize DDR_AFFINE_P, 
+       (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
        DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
        (non_affine_dependence_relation): New.
-       (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, 
-       analyze_siv_subscript, analyze_miv_subscript, 
-       analyze_overlapping_iterations, subscript_dependence_tester): 
+       (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
+       analyze_siv_subscript, analyze_miv_subscript,
+       analyze_overlapping_iterations, subscript_dependence_tester):
        Initialize and return last_conflicts function.
        (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
        compute_overlap_steps_for_affine_1_2): New.
        (analyze_siv_subscript_affine_cst): Removed.
-       (analyze_subscript_affine_affine): Disprove dependences based on the 
-       iteration domains.  Solve the univariate dependence case as before, 
+       (analyze_subscript_affine_affine): Disprove dependences based on the
+       iteration domains.  Solve the univariate dependence case as before,
        but use lambda_matrix_right_hermite instead of tree_fold_bezout.
        Implement the multivariate case of 2 versus 1 variables.
-       (build_classic_dist_vector, build_classic_dir_vector): Implement some 
+       (build_classic_dist_vector, build_classic_dir_vector): Implement some
        unhandled cases.
-       (find_data_references_in_loop): Compute and initialize 
+       (find_data_references_in_loop): Compute and initialize
        loop->estimated_nb_iterations and loop->parallel_p.
        (analyze_all_data_dependences): Modify the debug dump order.
        * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
        subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
-       (SUB_LAST_CONFLICT, subscript->last_conflict, 
+       (SUB_LAST_CONFLICT, subscript->last_conflict,
        data_dependence_relation->affine_p, data_dependence_relation->size_vect,
        DDR_AFFINE_P, DDR_SIZE_VECT): New.
        (find_data_references_in_loop, initialize_data_dependence_relation,
        PR 17892
        * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
        (simplify_rhs_and_lookup_avail_expr): Disallow associativity
-       and constant folding of floating point MULT_EXPR/PLUS_EXPR 
+       and constant folding of floating point MULT_EXPR/PLUS_EXPR
        expressions.
 
 2004-10-12  Ulrich Weigand  <uweigand@de.ibm.com>
        PR middle-end/17657
        * stmt.c (add_case_node): Add additional type argument.  Declare
        as static to match prototype.  Convert the upper and lower bounds
-       to the specified index type.  Optimize away case ranges/values 
+       to the specified index type.  Optimize away case ranges/values
        that are outside the index type's bounds.  Truncate case ranges
        that span the index type's bounds.
        (expand_case): Avoid unnessary computation and memory allocation