OSDN Git Service

2004-07-23 Matthias Klose <doko@debian.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8c8e783..f039bce 100644 (file)
@@ -1,3 +1,378 @@
+2004-07-23  Matthias Klose  <doko@debian.org> 
+       intl.c (gcc_init_libintl): Use PACKAGE for the text domain. 
+       configure.ac: Add AC_DEFINE_UNQUOTED for PACKAGE. 
+       config.h: Regenerate.
+       configure: Likewise. 
+
+2004-07-22  Mark Mitchell  <mark@codesourcery.com>
+
+       * dwarf2out.c (output_call_frame_info): Set SYMBOL_FLAG_LOCAL on
+       generated SYMBOL_REFs for labels.
+       * config/darwin-protos.h (machopic_validate_stub_or_non_lazy_ptr):
+       Change prototype.
+       (machopic_stub_name): Remove.
+       (machopic_indirection_name): New function.
+       (machopic_mcount_stub_name): Likewise.
+       (machopic_classify_name): Remove.
+       (machopic_function_base_sym): New function.
+       (machpoic_classify_symbol): Likewise.
+       (machopic_classify_ident): Remove.
+       (machopic_define_ident): Likewise.
+       (machopic_define_name): Likewise.
+       (machopic_name_defined_p): Likewise.
+       (machopic_ident_defined_p): Likewise.
+       (darwin_strip_name_encoding): Likewise.
+       (machopic_define_symbol): New function.
+       * config/darwin.c (hashtab.h): Include.
+       (machopic_defined_list): Remove.
+       (machopic_classify_ident): Likewise.
+       (machopic_classify_name): Likewise.
+       (machopic_ident_defined_p): Likewise.
+       (machopic_define_ident): Likewise.
+       (machopic_define_name): Likewise.
+       (machopic_symbol_defined_p): New function.
+       (machopic_classify_symbol): Likewise.
+       (machopic_data_defined_p): Use machopic_classify_symbol.
+       (machopic_define_symbol): New function.
+       (machopic_function_base_sym): New function.
+       (machopic_non_lazy_pointers): Remove.
+       (machopic_non_lazy_ptr_name): Likewise.
+       (machopic_stubs): Likewise.
+       (machopic_stub_name): Likewise.
+       (NON_LAZY_POINTER_SUFFIX): New macro.
+       (STUB_SUFFIX): Likewise.
+       (machopic_indirection): New structure.
+       (machopic_indirections): New variable.
+       (machopic_indirection_hash): New function.
+       (machopic_indirection_eq): Likewise.
+       (machopic_indirection_name): Likewise.
+       (machopic_mcount_stub_name): New function.
+       (machopic_validate_stub_or_non_lazy_pointer): Reimplement to use
+       hash table.
+       (machopic_indirect_data_reference): Rework to use new functions.
+       (machopic_indirect_call_target): Likewise.
+       (machopic_legitimize_pic_address): Likewise.
+       (machopic_output_indirection): New function.
+       (machopic_finish): Use it.
+       (machopic_operand_p): Rework to use new functions.
+       (darwin_encode_seciton_info): Use SYMBOL_REF_FLAGS.
+       (darwin_strip_name_encoding): Remove.
+       (update_non_lazy_ptrs): Remove.
+       (update_stubs): Likewise.
+       (darwin_non_lazy_pcrel): Use new functions.
+       * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Likewise.
+       (ASM_OUTPUT_LABELREF): Likewise.
+       (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
+       (MACHO_SYMBOL_FLAG_VARIABLE): New macro.
+       (MACHO_SYMBOL_FLAG_DEFINED): Likewise.
+       (TARGET_STRIP_NAME_ENCODING): Do not use
+       darwin_strip_name_encoding.
+       (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Do not use
+       darwin_strip_name_encoding.
+       * config/i386/darwin.h (FUNCTION_PROFILER): Use
+       machopic_mcount_stub_name.
+       * config/i386/i386.c (x86_output_mi_thunk): Use
+       machopic_indirection_name, not machopic_stub_name.
+       * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Use
+       machopic_function_base_sym.
+       (print_operand): Use machopic_classify_symbol.
+       (rs6000_emit_prologue): Use machopic_function_base_sym.
+       (output_profile_hook): Do not use machopic_stub_name.
+       (macho_branch_isalnds): Do not use darwin_strip_name_encoding.
+       
+2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/7284
+       * fold-const.c (extract_muldiv_1): Do not treat signed left shift
+       as multiplication.
+
+2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * doc/implement-c.texi: New file.
+       * doc/extend.texi (C Implementation): Move to there.
+       * doc/gcc.texi: Include implement-c.texi.
+       * Makefile.in (TEXI_GCC_FILES): Add implement-c.texi.
+
+2004-07-22  Jason Merrill  <jason@redhat.com>
+
+       * integrate.c (copy_decl_for_inlining): Remove invisible reference
+       handling.
+       * tree-inline.c (setup_one_parameter): Likewise.
+
+2004-07-22  Brian Booth  <bbooth@redhat.com>
+
+       * tree-ssa-ccp.c (latticevalue): Add UNKNOWN_VAL.
+       (substitute_and_fold): Propigate into VUSE operands when possible.
+       (visit_phi_node): Handle UNKNOWN_VAL latticevalue.
+       (cp_lattice_meet): Handle merging of latticevalues when 
+       UNKNOWN_VAL is present.
+       (visit_stmt): Visit assignments with V_MUST_DEFs.
+       (visit_assignment): Gather ccp information for V_MUST_DEF operands.
+       (ccp_fold): Deal with RHS' that are constant and virtual.
+       (evaluate_stmt): Handle UNKNOWN_VAL likely values.
+       (dump_lattice_value): Dump UNKNOWN_VAL latticevalues.
+       (initialize): Mark statements with V_MUST_DEFs as VARYING only if the
+       V_MUST_DEF operand is VARYING. Fix comment and include VOPS when 
+       computing immediate uses.
+       (set_lattice_value): Disallow a UNKNOWN_VAL->UNDEFINED state 
+       transition.
+       (replace_vuse_in): New function.
+       (likely_value): Add check of vuse operands.
+       (get_default_value): Set the default value of virtually defined 
+       variables to UKNOWN_VAL instead of VARYING.
+
+2004-07-22  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (emit_push_insn): Don't use set_mem_attributes.
+
+2004-07-22  Richard Henderson  <rth@redhat.com>
+
+       * tree-ssa-live.c (create_ssa_var_map): Avoid defined-but-not-used
+       variables due to conditional compilation.
+
+2004-07-22  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-into-ssa.c (set_livein_block): Fix typo in comment.
+       (rewrite_ssa_into_ssa): Start iterating over SSA names at 1.
+       Release SSA names that have been re-renamed.
+       * tree-phinodes.c (make_phi_node): Set same TREE_TYPE as the
+       variable.
+       * tree-ssa-alias.c (init_alias_info): If aliases have been
+       computed before, clear existing alias information.
+       (create_name_tags): Do no fixup PT_ANYTHING pointers.
+       If the new name tag for a pointer is different than the one it
+       had before, mark the old tag for renaming.
+       (replace_may_alias): New function.
+       (group_aliases): Call it.
+       (setup_pointers_and_addressables): Always call get_tmt_for.
+       (maybe_create_global_var): Don't create .GLOBAL_VAR more than
+       once.
+       (set_pt_anything): New local function.
+       (set_pt_malloc): New local function.
+       (merge_pointed_to_info): Don't merge pointed-to variables from
+       the original pointer if the destination is pointing to an
+       unknown location.
+       (add_pointed_to_expr): Call set_pt_anything and set_pt_malloc.
+       (add_pointed_to_var): Do not add a variable to the points-to
+       set if the pointer is already pointing to anywhere.
+       (collect_points_to_info_r): If the defining statement is a PHI
+       node, only merge pointed-to information if the argument has
+       already been visited.
+       (get_tmt_for): Only create a new tag if the pointer didn't
+       have one already.
+       (dump_alias_info): Emit more information.
+       (dump_points_to_info_for): Likewise.
+       * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't
+       try to get the annotation of an SSA_NAME.
+       * tree-ssa-operands.c (add_stmt_operand): Only check for empty
+       alias sets when checking is enabled.
+       * tree-ssa-pre.c (need_eh_cleanup): New local variable.
+       (eliminate): Mark basic blocks that will need
+       EH information cleaned up.
+       (init_pre): Split ENTRY_BLOCK->0 if block 0 has more than one
+       predecessor.
+       Initialize need_eh_cleanup.
+       (fini_pre): Call tree_purge_all_dead_eh_edges and
+       cleanup_tree_cfg if needed.
+       Free need_eh_cleanup.
+       * tree-ssa.c (verify_ssa_name): New function.
+       (verify_def): Call it.
+       Re-arrange to avoid printing too many error messages.
+       (verify_use): Likewise.
+       (verify_phi_args): Likewise.
+       (verify_flow_insensitive_alias_info): New function.
+       (verify_flow_sensitive_alias_info): New function.
+       (verify_alias_info): New function.
+       (verify_ssa): Call verify_alias_info.
+       Clear TREE_VISITED on all the SSA_NAMEs before scanning the
+       program.
+       Re-arrange to avoid printing too many error messages.
+       * tree-ssanames.c (make_ssa_name): Clear
+       SSA_NAME_IN_FREE_LIST.
+       (release_ssa_name): Never release a default definition.
+       (release_defs): New function.
+       * tree.h: Declare it.
+       * tree-ssa-dce.c (remove_dead_stmt): Call it.
+
+2004-07-22  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa.c (walk_use_def_chains_1): Add new argument IS_DFS.
+       If true, do a depth-first search.  Do a breadht-first search,
+       otherwise.
+       (walk_use_def_chains): Add new argument IS_DFS.
+       Update all users.
+       * tree-flow.h (walk_use_def_chains): Update prototype.
+
+2004-07-22  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md: Tweak formatting.
+       (asrandb, asrandw, lsrandb, lsrandw, moversideqi, movemsideqi)
+       (mover2side, moverside, movemside, movei, op3, andu): Replace
+       live define_peephole:s with define_peephole2 near-equivalents.
+       Delete the rest.
+       ("*mov_sidesisf_biap"): Rename from "*mov_sidesi_biap".  Match all
+       word-size modes.
+       ("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"):
+       Similar for "*mov_sidesi", "*mov_sidesi_biap_mem" and
+       "*mov_sidesi_mem" respectively.
+
+2004-07-22  Paolo Bonzini  <bonzini@gnu.org>
+
+       * tree-cfg.c (gimplify_val): Move from tree-complex.c.
+       (gimplify_build1): Move from tree-complex.c do_unop.
+       (gimplify_build2): Move from tree-complex.c do_binop.
+       (gimplify_build3): New.
+       * tree-complex.c (gimplify_val, do_unop, do_binop): Remove.
+       Adjust throughout to call the functions above.
+       * tree-flow.h: Declare the functions above.
+       * tree-nested.c (gimplify_val): Rename to...
+       (tsi_gimplify_val): ... this.
+
+       * Makefile.in (tree_complex.o): Update dependencies.
+       (stor-layout.o): Depend on regs.h.
+       * c-common.c (handle_vector_size_attribute): Update for
+       vector types without corresponding vector modes.
+       * expr.c (expand_expr): Treat VECTOR_CST's like CONSTRUCTORS if
+       a corresponding vector mode is not available.
+       * print-tree.c (print_node): Print nunits for vector types
+       * regclass.c (have_regs_of_mode): New.
+       (init_reg_sets_1): Initialize it and use it instead
+       of allocatable_regs_of_mode.
+       * regs.h (have_regs_of_mode): Declare it.
+       * stor-layout.c (layout_type): Pick a mode for vector types.
+       * tree-complex.c (build_word_mode_vector_type, tree_vec_extract,
+       build_replicated_const, do_unop, do_binop, do_plus_minus,
+       do_negate, expand_vector_piecewise, expand_vector_parallel,
+       expand_vector_addition, expand_vector_operations_1,
+       expand_vector_operations, tree_lower_operations,
+       pass_lower_vector_ssa, pass_pre_expand): New.
+       (expand_complex_operations, pass_lower_complex): Remove.
+       * tree-optimize.c (init_tree_optimization_passes): Adjust
+       pass ordering for changes in tree-complex.c.
+       * tree-pass.h: Declare new passes.
+       * tree.c (finish_vector_type): Remove.
+       (make_vector_type): New.
+       (build_vector_type_for_mode, build_vector_type): Rewritten.
+       * tree.def (VECTOR_TYPE): Document where the number of
+       subparts is stored.
+       * tree.h (TYPE_VECTOR_SUBPARTS): Use TYPE_PRECISION field.
+       (make_vector): Remove declaration.
+
+2004-07-21  Richard Henderson  <rth@redhat.com>
+
+       * gimple-low.c (expand_var_p): Don't look at TREE_ADDRESSABLE,
+       TREE_THIS_VOLATILE, may_aliases, or optimization level.
+       (remove_useless_vars): Dump debugging info.
+       (expand_used_vars): Move ...
+       * cfgexpand.c (expand_used_vars): ... here.  Make static.
+       * tree-flow-inline.h (set_is_used): New.
+       (set_default_def): Use get_var_ann.
+       * tree-flow.h: Update decls.
+       * tree-ssa-live.c (mark_all_vars_used_1, mark_all_vars_used): New.
+       (create_ssa_var_map): Use it.
+       * tree-ssa.c (set_is_used): Remove.
+
+2004-07-22  Ben Elliston  <bje@au.ibm.com>
+
+       * gdbinit.in: Set a breakpoint on internal_error.
+
+2004-07-21  Richard Henderson  <rth@redhat.com>
+
+       * cfgexpand.c (expand_gimple_tailcall): Fix case where we need
+       to create a new basic block.
+
+2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/15052
+       * c-decl.c (grokdeclarator): Only pedwarn for qualified void
+       return type on function definitions.  Move other warnings for
+       qualified return type to -Wreturn-type.  Do not condition any such
+       warnings on -pedantic.  Update comments.
+       (start_function): Only copy function type from previous prototype
+       declaration if return types are compatible.
+       * c-typeck.c (function_types_compatible_p): Don't condition
+       warning for incompatibility of volatile qualifiers on the return
+       type on -pedantic.  Update comment.
+       * doc/invoke.texi (-Wreturn-type, -Wextra): Update.
+
+2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (set_init_index): Require designator to be of integer
+       type.
+
+2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/11250
+       * c-parse.in (init): Change to exprtype.
+       (primary): Set original_code for STRING to STRING_CST.
+       Call maybe_warn_string_init for compound literals.
+       (initdcl, notype_initdcl): Call maybe_warn_string_init.
+       (initval): Update.
+       * c-tree.h (maybe_warn_string_init): New.
+       (pop_init_level, process_init_element): Use struct c_expr.
+       (struct c_expr): Update comment.
+       * c-typeck.c (maybe_warn_string_init): New function.
+       (digest_init): Call it.  Additional parameter strict_string.  All
+       callers changed.
+       (output_init_element): Likewise.
+       (struct constructor_stack): Use struct c_expr for
+       replacement_value.
+       (really_start_incremental_init, push_init_level): Update.
+       (pop_init_level): Update.  Return struct c_expr.
+       (process_init_level): Update.  Take struct c_expr argument.
+
+2004-07-21  David S. Miller  <davem@nuts.davemloft.net>
+
+       * config/sparc/sparc.c (sparc_rtx_costs): Fix typo in previous
+       commit.
+
+2004-07-21  Eric Christopher  <echristo@redhat.com>
+
+       * builtins.c (expand_builtin_setjmp_receiver): Fix comment for code
+       removal.
+       * c-decl.c (pop_scope): Ditto.
+       * calls.c (expand_call): Remove call to current_nesting_level,
+       update comment accordingly. Remove calls to expand_start_target_temps
+       and expand_end_target_temps.
+       * cfgexpand.c (construct_init_block): Remove call to
+       expand_start_bindings_and_block.
+       (construct_exit_block): Remove call to expand_end_bindings.
+       * expr.c (safe_from_p): Remove BIND_EXPR handling.
+       (expand_expr_real_1): Ditto. Fix formatting.
+       (expand_vars): Delete.
+       * stmt.c (POPSTACK): Remove block_stack.
+       (stmt_status): Remove x_block_stack.
+       (block_stack): Delete.
+       (expand_start_bindings_and_block): Ditto.
+       (expand_start_target_temps): Ditto.
+       (expand_end_target_temps): Ditto.
+       (current_nesting_level): Ditto.
+       (warn_about_unused_variables): Ditto.
+       (expand_end_bindings): Ditto.
+       * tree.h: Remove declarations for above.
+
+2004-07-21  Steven Bosscher  <stevenb@suse.de>
+
+       * rtl.h (insn_note): Remove NOTE_INSN_PREDICTION.
+       * rtl.c (note_insn_name): Likewise.
+       * print-rtl.c (print_rtx): Don't print it.
+       * cfgrtl.h (can_delete_note_p): Don't handle it.
+       (rtl_delete_block): Likewise.
+       * passes.c (rest_of_handle_guess_branch_prob): Remove.
+       (rest_of_compilation): Don't call it.
+       * predict.c (process_note_predictions, process_note_prediction,
+       note_prediction_to_br_prob): Remove.
+       * basic-block.c (note_prediction_to_br_prob): Remove prototype.
+       * stmt.c (return_prediction): Remove.
+       (expand_value_return): Don't call it.  Don't add prediction
+       notes for return statements.
+
+2004-07-21  Josef Zlomek  <zlomekj@suse.cz>
+
+       * var-tracking.c (vt_find_locations): Set the in_pending bitmap at
+       once.
+
 2004-07-21  Paolo Bonzini  <bonzini@gnu.org>
 
        * c-common.c (vector_types_convertible_p): Use vector types'
        for EXTRA_SECTION_FUNCTIONS.
        * doc/install.texi: Update binutils requirements.
 
->>>>>>> 2.4622
 2004-07-20  Nathan Sidwell  <nathan@codesourcery.com>
 
        * vec.h (VEC_T_length, VEC_T_index, VEC_T_iterate, VEC_T_truncate,