Commit Graph

73965 Commits

Author SHA1 Message Date
GCC Administrator ee8285934a Daily bump.
From-SVN: r111660
2006-03-03 00:17:26 +00:00
Zdenek Dvorak 701b8964b2 tree-vrp.c (remove_range_assertions): Do not update statements unnecessarily.
* tree-vrp.c (remove_range_assertions): Do not update statements unnecessarily.

From-SVN: r111654
2006-03-03 00:07:54 +00:00
Zdenek Dvorak 5999416070 cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg cleanup.
* cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg
	cleanup.
	* gcse.c (rest_of_handle_gcse): Ditto.
	* except.c (gate_handle_eh): Ditto.
	* cfgcleanup.c (rest_of_handle_jump2): Ditto.
	* basic-block.h (CLEANUP_PRE_LOOP): Remove.

From-SVN: r111653
2006-03-03 00:04:22 +00:00
Eric Christopher 5143b5fcfe i386.c (machopic_output_stub): Add indirection to jump.
2006-03-02  Eric Christopher  <echristo@apple.com>

        * config/i386/i386.c (machopic_output_stub): Add indirection to
        jump.

From-SVN: r111652
2006-03-03 00:02:49 +00:00
Zdenek Dvorak c6ba18c6e5 loop.c: Removed.
* loop.c: Removed.

From-SVN: r111650
2006-03-02 23:50:55 +00:00
David S. Miller 4c837a1e98 Sun Niagara specific optimizations.
* config.gcc: Recognize niagara as target.
	* config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara.
	(TARGET_CPU_niagara): Define.
	(CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara.
	(ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara.
	(CPP_CPU_SPEC): Handle -mcpu=niagara.
	(ASM_CPU_SPEC): Likewise.
	(PROCESSOR_NIAGARA): New enum entry.
	(REGISTER_MOVE_COST): Handle Niagara.
	(BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise.
	* config/sparc/sparc.c (niagara_costs): New processor_costs entry.
	(sparc_override_options): Recognize "niagara", set appropriate
	default MASK_* values for it, and align functions to 32-bytes
	by default just like ULTRASPARC/ULTRASPARC3.
	(sparc_initialize_trampoline): Handle niagara like ultrasparc.
	(sparc64_initialize_trampoline): Likewise.
	(sparc_use_sched_lookahead): Use zero for niagara.
	(sparc_issue_rate): Use one for niagara.
	* config/sparc/niagara.md: New file.
	* config/sparc/sparc.md: Include it.
	* config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC,
	ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately
	when default cpu is niagara.
	(CPP_CPU_SPEC): Handle -mcpu=niagara.
	(ASM_CPU_SPEC): Likewise.
	* config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately
	when default cpu is niagara.
	(ASM_CPU_SPEC): Handle -mcpu=niagara.
	* config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara
	just like v9/ultrasparc/ultrasparc3.
	* doc/invoke.texi: Add documentation for "niagara" and improve
	existing documentation for ultrasparc variants.

From-SVN: r111648
2006-03-02 14:47:02 -08:00
Diego Novillo 2434ab1da2 tree-ssa-operands.c (update_stmt_operands): Update documentation.
* tree-ssa-operands.c (update_stmt_operands): Update documentation.

From-SVN: r111647
2006-03-02 16:55:45 -05:00
Richard Sandiford 434aeebbff tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document.
* doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document.
	(ASM_OUTPUT_BSS): Describe the two ways of handling global BSS,
	and say that only one is needed.
	* doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null.
	* target.h (have_switchable_bss_sections): New hook.
	* explow.c (use_anchored_address): Check that the symbol is in a block.
	* varasm.c (tls_comm_section, comm_section, lcomm_section)
	(bss_noswitch_section): New variables.
	(get_unnamed_section): Add SECTION_UNNAMED to the flags.
	(get_noswitch_section): New function.
	(get_block_for_section): Allow SECT to be null.
	(unlikely_text_section_p): Use SECTION_STYLE.
	(bss_initializer_p): New function.
	(get_variable_section): Move earlier in file.  Take a new argument,
	prefer_noswitch_p.  Move bss checks from assemble_variable to here.
	Return one of the new *_sections in such cases.
	(get_block_for_decl): New function, extracting some logic from
	use_blocks_for_decl_p.
	(change_symbol_section): Remove in favor of...
	(change_symbol_block): ...this new function.
	(use_blocks_for_decl_p): Remove checks now performed by
	get_block_for_decl.
	(make_decl_rtl): Use change_symbol_block and get_block_for_decl.
	(ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of...
	(emit_local, emit_bss, emit_common): ...these new functions.
	Return true if the alignment was honored.
	(emit_tls_common): New function.
	(asm_emit_uninitialised): Delete.
	(assemble_variable_noswitch): New function, split out from...
	(assemble_variable): ...here.  Don't make decisions about common
	variables here.  Globalize all public decls that go into non-common
	sections.  Check whether SYMBOL_REF_BLOCK is null.
	(output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null.
	(output_constant_pool): Likewise.
	(init_varasm_once): Initialize the new section variables.
	(have_global_bss_p): New function.
	(categorize_decl_for_section): Use bss_initializer_p.
	(switch_to_section): Use SECTION_STYLE.  Abort for SECTION_NOSWITCH.
	(place_block_symbol): Assert that the symbol must be in a block.
	* target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro.
	(TARGET_INITIALIZER): Include it.
	* rtl.h (SYMBOL_REF_BLOCK): Document the null alternative.
	* output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros.
	(SECTION_MACH_DEP): Bump by two.
	(SECTION_UNNAMED, SECTION_NOSWITCH): New macros.
	(unnamed_section): Mention SECTION_UNNAMED in comment.
	(named_section): Likewise SECTION_NAMED.
	(noswitch_section_callback): New type.
	(noswitch_section): New structure.
	(section): Add a noswitch_section alternative.
	(SECTION_STYLE): New macro.
	(tls_comm_section, comm_section, lcomm_section): Declare.
	(bss_noswitch_section, have_global_bss_p): Declare.
	* config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
	* config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
	Override.
	* config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
	* config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
	Override.

cp/
	* decl.c (start_decl): Use have_global_bss_p when deciding
	whether to make the decl common.

ada/
	* utils.c (create_var_decl): Use have_global_bss_p when deciding
	whether to make the decl common.

From-SVN: r111644
2006-03-02 19:32:52 +00:00
Daniel Berlin c2924966db tree-vrp.c (execute_vrp): Return value.
2006-03-02  Daniel Berlin <dberlin@dberlin.org>

	* gcc/tree-vrp.c (execute_vrp): Return value.
	* gcc/regrename.c (rest_of_handle_regrename): Ditto.
	* gcc/tree-into-ssa.c (rewrite_into_ssa): Ditto.
	* gcc/tree-complex.c (tree_lower_complex): Ditto.
	(tree_lower_complex_O0): Ditto.
	* gcc/tracer.c (rest_of_handle_tracer): Ditto.
	* gcc/postreload-gcse.c (rest_of_handle_gcse2): Ditto.
	* gcc/postreload.c (rest_of_handle_postreload): Ditto.
	* gcc/tree-tailcall.c (execute_tail_recursion): Ditto.
	(execute_tail_calls): Ditto.
	* gcc/tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
	* gcc/tree.h (init_function_for_compilation): Ditto.
	* gcc/ipa-cp.c (ipcp_driver): Ditto.
	* gcc/tree-scalar-evolution.c (scev_const_prop): Ditto.
	* gcc/tree-scalar-evolution.h (scev_const_prop): Ditto.
	* gcc/final.c (compute_alignments): Ditto.
	(rest_of_handle_final): Ditto.
	(rest_of_handle_shorten_branches): Ditto.
	(rest_of_clean_state): Ditto.
	* gcc/omp-low.c (execute_expand_omp): Ditto.
	(execute_lower_omp): Ditto.
	* gcc/tree-ssa-dse.c (tree_ssa_dse): Ditto.
	* gcc/ipa-reference.c (static_execute): Ditto.
	* gcc/tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
	* gcc/reorg.c (rest_of_handle_delay_slots): Ditto.
	(rest_of_handle_machine_reorg): Ditto.
	* gcc/cgraphunit.c (rebuild_cgraph_edges): Ditto.
	* gcc/flow.c (recompute_reg_usage): Ditto.
	(rest_of_handle_remove_death_notes): Ditto.
	(rest_of_handle_life): Ditto.
	(rest_of_handle_flow2): Ditto.
	* gcc/tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
	* gcc/tree-ssa-ccp.c (do_ssa_ccp): Ditto.
	(do_ssa_store_ccp): Ditto.
	(execute_fold_all_builtins): Ditto.
	* gcc/mode-switching.c (rest_of_handle_mode_switching): Ditto.
	* gcc/modulo-sched.c (rest_of_handle_sms): Ditto.
	* gcc/ipa-pure-const.c (static_execute): Ditto.
	* gcc/cse.c (rest_of_handle_cse): Ditto.
	(rest_of_handle_cse2): Ditto.
	* gcc/web.c (rest_of_handle_web): Ditto.
	* gcc/tree-stdarg.c (execute_optimize_stdarg): Ditto.
	* gcc/tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
	* gcc/tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
	* gcc/tree-nrv.c (tree_nrv): Ditto.
	(execute_return_slot_opt): Ditto.
	* gcc/tree-ssa-alias.c (compute_may_aliases): Ditto.
	(create_structure_vars): Ditto.
	* gcc/loop-init.c (rtl_loop_init): Ditto.
	(rtl_loop_done): Ditto.
	(rtl_move_loop_invariants): Ditto.
	(rtl_unswitch): Ditto.
	(rtl_unroll_and_peel_loops): Ditto.
	(rtl_doloop): Ditto.
	* gcc/gimple-low.c (lower_function_body): Ditto.
	(mark_used_blocks): Ditto.
	* gcc/tree-ssa-sink.c (execute_sink_code): Ditto.
	* gcc/ipa-inline.c (cgraph_decide_inlining): Ditto.
	(cgraph_early_inlining): Ditto.
	* gcc/global.c (rest_of_handle_global_alloc): Ditto.
	* gcc/jump.c (cleanup_barriers): Ditto.
	(purge_line_number_notes): Ditto.
	* gcc/ifcvt.c (rest_of_handle_if_conversion): Ditto.
	(rest_of_handle_if_after_reload): Ditto.
	* gcc/tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
	(tree_ssa_loop_im): Ditto.
	(tree_ssa_loop_unswitch): Ditto.
	(tree_vectorize): Ditto.
	(tree_linear_transform): Ditto.
	(tree_ssa_loop_ivcanon): Ditto.
	(tree_ssa_empty_loop): Ditto.
	(tree_ssa_loop_bounds): Ditto.
	(tree_complete_unroll): Ditto.
	(tree_ssa_loop_prefetch): Ditto.
	(tree_ssa_loop_ivopts): Ditto.
	(tree_ssa_loop_done): Ditto.
	* gcc/predict.c (tree_estimate_probability): Ditto.
	* gcc/recog.c (split_all_insns_noflow): Ditto.
	(rest_of_handle_peephole2): Ditto.
	(rest_of_handle_split_all_insns): Ditto.
	* gcc/tree-eh.c (lower_eh_constructs): Ditto.
	* gcc/regmove.c (rest_of_handle_regmove): Ditto.
	(rest_of_handle_stack_adjustments): Ditto.
	* gcc/local-alloc.c (rest_of_handle_local_alloc): Ditto.
	* gcc/function.c (instantiate_virtual_regs): Ditto.
	(init_function_for_compilation): Ditto.
	(rest_of_handle_check_leaf_regs): Ditto.
	* gcc/gcse.c (rest_of_handle_jump_bypass): Ditto.
	(rest_of_handle_gcse): Ditto.
	* gcc/ipa-type-escape.c (type_escape_execute): Ditto.
	* gcc/alias.c (rest_of_handle_cfg): Ditto.
	* gcc/tree-if-conv.c (main_tree_if_conversion): Ditto.
	* gcc/profile.c (rest_of_handle_branch_prob): Ditto.
	* gcc/tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
	* gcc/rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
	* gcc/bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
	* gcc/tree-dfa.c (find_referenced_vars): Ditto.
	* gcc/except.c (set_nothrow_function_flags): Ditto.
	(convert_to_eh_region_ranges): Ditto.
	(rest_of_handle_eh): Ditto.
	* gcc/emit-rtl.c (unshare_all_rtl): Ditto.
	(remove_unnecessary_notes): Ditto.
	* gcc/except.h (set_nothrow_function_flags): Ditto.
	(convert_to_eh_region_ranges): Ditto.
	* gcc/cfgexpand.c (tree_expand_cfg): Ditto.
	* gcc/tree-cfgcleanup.c (merge_phi_nodes): Ditto.
	* gcc/tree-ssa-pre.c (do_pre): Ditto.
	(execute_fre): Ditto.
	* gcc/cfgcleanup.c (rest_of_handle_jump): Ditto.
	(rest_of_handle_jump2): Ditto.
	* gcc/tree-sra.c (tree_sra): Ditto.
	* gcc/tree-mudflap.c (execute_mudflap_function_ops): Ditto.
	(execute_mudflap_function_decls): Ditto.
	* gcc/tree-ssa-copy.c (do_copy_prop): Ditto.
	(do_store_copy_prop): Ditto.
	* gcc/ipa-prop.h (ipcp_driver): Ditto.
	* gcc/cfglayout.c (insn_locators_initialize): Ditto.
	* gcc/tree-ssa-forwprop.c
	(tree_ssa_forward_propagate_single_use_vars): Ditto.
	* gcc/cfglayout.h (insn_locators_initialize): Ditto.
	* gcc/tree-ssa-dce.c (tree_ssa_dce): Ditto.
	* gcc/tree-ssa.c (execute_early_warn_uninitialized): Ditto.
	(execute_late_warn_uninitialized): Ditto.
	* gcc/rtl.h (cleanup_barriers): Ditto.
	(split_all_insns_noflow): Ditto.
	(purge_line_number_notes): Ditto.
	(unshare_all_rtl): Ditto.
	(remove_unnecessary_notes): Ditto.
	(recompute_reg_usage): Ditto.
	(variable_tracking_main): Ditto.
	* gcc/integrate.c (emit_initial_value_sets): Ditto.
	* gcc/integrate.h (emit_initial_value_sets): Ditto.
	* gcc/tree-optimize.c (execute_free_datastructures): Ditto
	(execute_free_cfg_annotations): Ditto.
	(execute_fixup_cfg): Ditto.
	(execute_cleanup_cfg_pre_ipa): Ditto.
	(execute_cleanup_cfg_post_optimizing): Ditto.
	(execute_init_datastructures): Ditto.
	* gcc/tree-object-size.c (compute_object_sizes): Ditto.
	* gcc/combine.c (rest_of_handle_combine): Ditto.
	* gcc/tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
	* gcc/bb-reorder.c (duplicate_computed_gotos): Ditto.
	(rest_of_handle_reorder_blocks): Ditto.
	(rest_of_handle_partition_blocks): Ditto.
	* gcc/var-tracking.c (variable_tracking_main): Ditto.
	* gcc/tree-profile.c (tree_profiling): Ditto.
	* gcc/tree-vect-generic.c (expand_vector_operations): Ditto.
	* gcc/reg-stack.c (rest_of_handle_stack_regs): Ditto.
	* gcc/sched-rgn.c (rest_of_handle_sched): Ditto.
	(rest_of_handle_sched2): Ditto.
	* gcc/basic-block.h (free_bb_insn): Ditto.
	* gcc/tree-ssa-structalias.c (ipa_pta_execute): Ditto.
	* gcc/tree-cfg.c (execute_build_cfg): Ditto.
	(remove_useless_stmts): Ditto.
	(split_critical_edges): Ditto.
	(execute_warn_function_return): Ditto.
	(execute_warn_function_noreturn): Ditto.
	* gcc/tree-ssa-reassoc.c (execute_reassoc): Ditto.
	* gcc/cfgrtl.c (free_bb_for_insn): Ditto.
	* gcc/passes.c (execute_one_pass): Run additional
	todos returned by execute function.
	* gcc/tree-pass.h (struct tree_opt_pass): Make execute
	return a value.

From-SVN: r111643
2006-03-02 19:00:11 +00:00
Fariborz Jahanian d349339d33 Fixed a couple of objctective-c bugs.
Oked by Mike Stump.

From-SVN: r111642
2006-03-02 17:45:30 +00:00
Jeff Law 21a8ffa158 Fix typo in 2006-02-17 ChangeLog entry (simplify_rtx.c -> simplify-rtx.c)
From-SVN: r111641
2006-03-02 10:35:10 -07:00
Richard Guenther 62c577fd5b tree-ssa-alias.c (find_used_portions): Consider taking the address as making the variable not write-only.
2006-03-02  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-alias.c (find_used_portions): Consider taking
	the address as making the variable not write-only.

From-SVN: r111639
2006-03-02 15:47:03 +00:00
Eric Botcazou 92cd5e4fe4 single-precision-constant.c: Tweak for non-C99 runtimes.
* gcc.dg/single-precision-constant.c: Tweak for non-C99 runtimes.

From-SVN: r111638
2006-03-02 14:41:47 +00:00
Nick Clifton c5dde55b61 config.gcc (default_use_cxa_atexit): Extend the description of this configure variable.
* config.gcc (default_use_cxa_atexit): Extend the description of
  this configure variable.  Set its default value to "yes" for
  Linux, NetBSD and ELF targets on the assumption that they will
  use C libraries with the __cxa_atexit function.

From-SVN: r111636
2006-03-02 10:01:21 +00:00
Ben Elliston 7533450810 linux-unwind.h (frob_update_context): Mark `fs' parameter as unused to suppress a build warning.
* config/rs6000/linux-unwind.h (frob_update_context): Mark `fs'
	parameter as unused to suppress a build warning.

From-SVN: r111635
2006-03-02 15:43:44 +11:00
Ben Elliston 16c44183bf mklibgcc.in: Depend on config/dfp-bit.h in rules that compile config/dfp-bit.c.
* mklibgcc.in: Depend on config/dfp-bit.h in rules that compile
	config/dfp-bit.c.

From-SVN: r111634
2006-03-02 15:23:22 +11:00
Roger Sayle a11dd26860 re PR other/26489 (compilation of c++ fails in eh_alloc.cc on NetBSD)
PR other/26489
	* gthr-posix.h (__gthrw2): Define to take three parameters, the
	declared name, the weak reference name, and the typeof name.
	(__gthrw): Avoid expanding the declared name suffix.
	(__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls.

From-SVN: r111633
2006-03-02 02:47:40 +00:00
Mike Stump 1a1d091751 re PR target/25908 (vtables with vague linkage is not being marked as vague on darwin)
PR darwin/25908
	* decl2.c (import_export_decl): Fix ABI breakage on darwin.

	* g++.dg/abi/key2.C: Add.

From-SVN: r111632
2006-03-02 02:20:54 +00:00
Roger Sayle 011daa767e trans-stmt.c (generate_loop_for_temp_to_lhs): Add an additional INVERT argument to invert the sense of the WHEREMASK argument.
* trans-stmt.c (generate_loop_for_temp_to_lhs): Add an additional
	INVERT argument to invert the sense of the WHEREMASK argument.
	Remove unneeded code to AND together a list of masks.
	(generate_loop_for_rhs_to_temp): Likewise.
	(gfc_trans_assign_need_temp): Likewise.
	(gfc_trans_forall_1): Likewise.
	(gfc_evaluate_where_mask): Likewise, add a new INVERT argument
	to specify the sense of the MASK argument.
	(gfc_trans_where_assign): Likewise.
	(gfc_trans_where_2): Likewise.  Restructure code that decides
	whether we need to allocate zero, one or two temporary masks.
	If this is a top-level WHERE (i.e. the incoming MAKS is NULL),
	we only need to allocate at most one temporary mask, and can
	invert it's sense to provide the complementary pending execution
	mask.  Only calculate the size of the required temporary arrays
	if we need any.
	(gfc_trans_where): Update call to gfc_trans_where_2.

From-SVN: r111630
2006-03-02 00:24:45 +00:00
GCC Administrator 7362e4524f Daily bump.
From-SVN: r111628
2006-03-02 00:18:33 +00:00
Jakub Jelinek d213accd17 dwarf2.h (DW_TAG_condition, [...]): New constants from DWARF 3.
* dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants
	from DWARF 3.
	(DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale,
	DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count,
	DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled,
	DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity,
	DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New.
	(DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New.
	(DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited,
	DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New.
	(DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch,
	DW_DS_leading_separate, DW_DS_trailing_separate): New.
	(DW_END_default, DW_END_big, DW_END_little): New.
	(DW_END_lo_user, DW_END_hi_user): Define.
	(DW_LNE_lo_user, DW_LNE_hi_user): Define.
	(DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New.
	(DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC,
	DW_LANG_D): New.

From-SVN: r111620
2006-03-02 00:26:13 +01:00
Diego Novillo 18cd8a03f8 tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG.
* tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG.
	Update all users.
	* tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage.
	Update all users.
	(TODO_update_smt_usage): Rename from TODO_update_tmt_usage.
	Update all users.
	* tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE.
	Update all users.
	* tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag'
	to 'symbol_mem_tag'.
	Update all users.
	* doc/tree-ssa.texi: Update documentation to reflect TMT->SMT
	rename.

From-SVN: r111617
2006-03-01 17:35:42 -05:00
Paul Thomas 61321991ff re PR fortran/26393 (ICE with function returning variable lenght array)
2006-03-01  Paul Thomas  <pault@gcc.gnu.org>

	* iresolve.c (gfc_resolve_dot_product):  Remove any difference in
	treatment of logical types.
	* trans-intrinsic.c (gfc_conv_intrinsic_dot_product):  New function. 

	PR fortran/26393
	* trans-decl.c (gfc_get_symbol_decl): Extend condition that symbols
	must be referenced to include unreferenced symbols in an interface
	body. 

	PR fortran/20938
	* trans-array.c (gfc_conv_resolve_dependencies): Add call to
	gfc_are_equivalenced_arrays.
	* symbol.c (gfc_free_equiv_infos, gfc_free_equiv_lists): New
	functions. (gfc_free_namespace): Call them.
	* trans-common.c (copy_equiv_list_to_ns): New function.
	(add_equivalences): Call it.
	* gfortran.h: Add equiv_lists to gfc_namespace and define
	gfc_equiv_list and gfc_equiv_info.
	* dependency.c (gfc_are_equivalenced_arrays): New function.
	(gfc_check_dependency): Call it.
	* dependency.h: Prototype for gfc_are_equivalenced_arrays.

2006-03-01  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/logical_dot_product.f90: New test. 

	PR fortran/26393
	* gfortran.dg/used_interface_ref.f90: New test.

	PR fortran/20938
	* gfortran.dg/dependency_2.f90: New test.
	* gfortran.fortran-torture/execute/where17.f90: New test.
	* gfortran.fortran-torture/execute/where18.f90: New test.
	* gfortran.fortran-torture/execute/where19.f90: New test.
	* gfortran.fortran-torture/execute/where20.f90: New test.

From-SVN: r111616
2006-03-01 22:24:19 +00:00
Roger Sayle 8acb1b3d1c builtins.c (fold_builtin_copysign): Delete unreachable code.
* builtins.c (fold_builtin_copysign): Delete unreachable code.

From-SVN: r111615
2006-03-01 21:39:28 +00:00
Mike Stump 6d69fe271f Fixup whitespace a litte
From-SVN: r111612
2006-03-01 19:57:38 +00:00
Andrew Pinski c446d1a76e re PR target/25761 (-fpic (not -fPIC) does not work with i686-darwin)
2006-03-01  Andrew Pinski  <pinskia@physics.uc.edu>

        PR target/25761
        * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just
        MACHO_DYNAMIC_NO_PIC_P.
        (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P.

From-SVN: r111611
2006-03-01 11:28:22 -08:00
Andrew Pinski ab0ff8041e re PR target/26389 (Darwin does not support -fsection-anchors)
2006-03-01  Andrew Pinski  <pinskia@physics.uc.edu>

        PR target/26389
        * config/darwin-protos.h (darwin_asm_output_anchor):
        Declare.
        * config/darwin-sections.def (cstring_section):
        Add SECTION_MERGE to the flags.
        (literal4_section): Likewise.
        (literal8_section): Likewise.
        (objc_selector_refs_section): Likewise.
        (objc_cls_refs_section): Likewise.
        * config/darwin.c (darwin_asm_output_anchor): New
        function.
        * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define.

From-SVN: r111609
2006-03-01 11:12:22 -08:00
Daniel Berlin 607f460c8b re PR tree-optimization/26443 (ICE in add_virtual_operand, at tree-ssa-operands.c:1867)
2006-03-01  Daniel Berlin  <dberlin@dberlin.org>
 
	Fix PR tree-optimization/26443
	* tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage
	to todo and PROP_tmt_usage to properties_destroyed.
	* tree-ssa-ccp.c (pass_ccp): Ditto.
	(pass_store_ccp): Ditto.
	* tree-ssa-dom.c (pass_dominator): Ditto.

From-SVN: r111608
2006-03-01 17:46:56 +00:00
H.J. Lu 54a1703906 re PR libgcj/17311 (Wrong libgcc_s.so.1 is used by lt-gij)
2006-03-01  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/17311
	* ltmain.sh: Don't use "$finalize_rpath" for compile.

From-SVN: r111607
2006-03-01 09:39:35 -08:00
Paolo Carlini a6f663e431 lwg-active.html, [...]: Import Revision 41.
2006-03-01  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 41.

From-SVN: r111606
2006-03-01 16:25:09 +00:00
Diego Novillo 02075bb20b tree-ssa-operands.c: Cleanup whitespace.
* tree-ssa-operands.c: Cleanup whitespace.
	(get_asm_expr_operands): Move before first invocation.
	(get_indirect_ref_operands): Likewise.
	(get_tmr_operands): Likewise.
	(get_call_expr_operands): Likewise.
	(append_def): Likewise.
	(append_use): Likewise.
	(append_v_may_def): Likewise.
	(append_v_must_def): Likewise.
	(add_call_clobber_ops): Likewise.
	(add_call_read_ops): Likewise.
	(add_stmt_operand): Likewise.
	(add_virtual_operand): Likewise.
	(build_ssa_operands): Likewise.

From-SVN: r111604
2006-03-01 11:07:47 -05:00
Tom Tromey 2bb6e0cefe re PR libgcj/24321 (instanceof erroneously causes class initialization)
PR java/24321:
	* testsuite/libjava.lang/pr24321.java: New file.
	* testsuite/libjava.lang/pr24321.out: New file.
	* java/lang/natClass.cc (isInstance): Don't initialize class.
	(isAssignableFrom): Likewise.

From-SVN: r111603
2006-03-01 16:01:34 +00:00
Andrew Pinski 1809ff6b9a re PR middle-end/26022 (ICE with references and virtual functions)
2006-01-23  Andrew Pinski  <pinskia@physics.uc.edu>

	PR middle-end/26022
	Revert:
	PR middle-end/24437
	* tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF
	with a call expr to ...
	* fold-const.c (fold_ternary) <case CALL_EXPR>: Here.

2006-02-28  Andrew Pinski  <pinskia@physics.uc.edu>

	PR middle-end/26022
	* g++.dg/opt/return-slot1.C: New test.

From-SVN: r111602
2006-03-01 07:15:38 -08:00
Roger Sayle c10bc6e9a0 dependency.c (gfc_is_same_range): Compare the stride...
* dependency.c (gfc_is_same_range): Compare the stride, lower and
	upper bounds when testing array reference ranges for equality.

	(gfc_check_dependency): Fix indentation whitespace.
	(gfc_check_element_vs_element): Likewise.
	(gfc_dep_resolver): Likewise.

From-SVN: r111601
2006-03-01 14:40:28 +00:00
Diego Novillo 6578c101b5 tree-vrp.c (extract_range_from_assert): Remove special handling for types with super-types.
* tree-vrp.c (extract_range_from_assert): Remove special
	handling for types with super-types.

From-SVN: r111600
2006-03-01 07:44:57 -05:00
Jerry DeLisle c1fa1ae9be re PR libfortran/26136 (List directed input with underfilled (logicals) array read incorrectly)
2006-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/26136
	* gfortran.dg/namelist_23.f90: New test.

From-SVN: r111598
2006-03-01 06:14:32 +00:00
Jerry DeLisle c9f15d9c0e re PR libfortran/26136 (List directed input with underfilled (logicals) array read incorrectly)
2006-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/26136
	* io/io.h: Add flag for reading from line_buffer.
	* io/list_read.c (l_push_char): New function to save namelist
	input when reading logicals.
	(free_line): New function to free line_buffer memory.
	(next_char): Added feature to read from line_buffer.
	(read_logical): Use new functions to test for '=' after reading a
	logical value, checking for possible variable name.
	(namelist_read): Use free_line when all done.

From-SVN: r111597
2006-03-01 06:04:45 +00:00
Ben Elliston ec09c26e3a config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux* and powerpc64-*-linux*...
* config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux*
	and powerpc64-*-linux* configurations.
	* config/t-dfprules: New file.

From-SVN: r111596
2006-03-01 16:18:57 +11:00
Ben Elliston 0eafb3ece6 mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS.
* mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS.
	Compile dfp-bit.c from the source directory using -DWIDTH and
	$DFP_CFLAGS to control the compilation of that file, rather than
	generating width-specific versions in the build directory.
	* Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS.
	(LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc].

From-SVN: r111595
2006-03-01 16:14:24 +11:00
Zack Weinberg cccb0908dd md.texi: Avoid use of @headitem so that makeinfo <4.7 continues to work.
* doc/md.texi: Avoid use of @headitem so that makeinfo <4.7
	continues to work.

From-SVN: r111594
2006-03-01 04:43:47 +00:00
GCC Administrator 8d6322e699 Daily bump.
From-SVN: r111590
2006-03-01 00:17:42 +00:00
Eric Christopher 31abac077d darwin.h (ENABLE_STACK_EXECUTE): Define.
2006-02-28  Eric Christopher  <echristo@apple.com>

        * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define.
        Set up IN_LIBGCC definition of TARGET_64BIT.
        * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define.

From-SVN: r111584
2006-03-01 00:02:14 +00:00
Andreas Tobler b295c471c2 unwindtest.cc (closure_test_fn): Mark cif, args and userdata unused.
2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
	args and userdata unused.
	(closure_test_fn1): Mark cif and userdata unused.
	(main): Remove unused res.

From-SVN: r111583
2006-03-01 00:18:01 +01:00
Andreas Tobler 9fdeb13b0e call.exp: Adjust FSF address.
2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
	-O2, -O3, -Os and the warning flags -W -Wall.
	* testsuite/libffi.special/special.exp: Likewise.
	* testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
	unused parameter unused for gcc or else do nothing.
	* testsuite/libffi.special/ffitestcxx.h: Likewise.
	* testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
	and userdata unused.
	* testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
	* testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
	* testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
	* testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
	* testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
	* testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
	* testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
	* testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
	* testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
	* testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
	* testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
	* testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
	* testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
	* testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
	* testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
	* testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
	* testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
	* testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
	* testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
	* testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
	* testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
	* testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
	* testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
	* testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
	void* to avoid compiler warning.
	(main): Likewise.
	(cls_struct_align_gn): Mark cif and userdata unused.
	* testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
	* testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
	* testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
	data unused.
	(main): Cast res_call to silence gcc.
	* testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
	data unused.
	(main): Cast res_call to silence gcc.
	* testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
	and data unused.
	(main): Cast res_call to silence gcc.
	* testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
	data unused.
	(main): Cast res_call to silence gcc.
	* testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
	data unused.
	(main): Cast res_call to silence gcc.
	* testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
	and data unused.
	(main): Cast res_call to silence gcc.
	* testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
	userdata unused.
	(cls_ret_schar_fn): Cast printf parameter to silence gcc.
	* testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
	userdata unused.
	(cls_ret_sint_fn): Cast printf parameter to silence gcc.
	* testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
	userdata unused.
	(cls_ret_sshort_fn): Cast printf parameter to silence gcc.
	* testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
	userdata unused.
	(cls_ret_uchar_fn): Cast printf parameter to silence gcc.
	* testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
	userdata unused.
	(cls_ret_uint_fn): Cast printf parameter to silence gcc.
	* testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
	and userdata unused.
	* testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
	userdata unused.
	(cls_ret_ushort_fn): Cast printf parameter to silence gcc.
	* testsuite/libffi.call/float.c (floating): Remove unused parameter e.
	* testsuite/libffi.call/float1.c (main): Remove unused variable i.
	Cleanup white spaces.
	* testsuite/libffi.call/negint.c (checking): Remove unused variable i.
	* testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
	cif and userdata unused.
	* testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
	Likewise.
	* testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
	* testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
	formatters to silence gcc.
	(B_gn): Mark cif and userdata unused.
	* testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
	unused.
	* testsuite/libffi.call/nested_struct4.c: Mention related PR.
	(B_gn): Mark cif and userdata unused.
	* testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
	unused.
	* testsuite/libffi.call/nested_struct6.c: Mention related PR.
	(B_gn): Mark cif and userdata unused.
	* testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
	unused.
	* testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
	* testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
	* testsuite/libffi.call/problem1.c (stub): Likewise.
	* testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
	gcc.
	* testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
	in the last commit for this test case in the test case itself.
	* testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
	unused.
	* testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
	* testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
	* testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
	* testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
	* testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
	* testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.

From-SVN: r111582
2006-03-01 00:12:00 +01:00
Roger Sayle c457fcec8e re PR tree-optimization/14752 ([tree-ssa] "~a" should be changed to "a" if used in the condition of an if statement)
PR middle-end/14752
	* c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR,
	BIT_XOR_EXPR, BIT_AND_EXPR>: Delete.  Let fold optimize these
	cases via the construction of "expr != 0".

	* gcc.dg/fold-eqandshift-2.c: New test case.

From-SVN: r111575
2006-02-28 21:31:29 +00:00
Steven Bosscher 63292ebfb4 alias.c (alias_invariant, [...]): Remove.
* alias.c (alias_invariant, alias_invariant_size): Remove.
	(record_base_value): Remove.
        (memrefs_conflict_p): Don't look at alias_invariant.
        (end_alias_analysis): Don't free it.
        * alias.h (record_base_value): Remove prototype.

From-SVN: r111574
2006-02-28 21:01:20 +00:00
Paolo Bonzini d3b7269024 rtl.h (truncated_to_mode): Declare it.
* rtl.h (truncated_to_mode): Declare it.
	(struct rtl_hooks): Add reg_truncated_to_mode hook.
	* rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro.
	(RTL_HOOKS_INITIALIZER): Include it.
	* rtlhooks.c (reg_truncated_to_mode_general): New function.
	* combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to
	reg_truncated_to_mode.
	* rtlanal.c (truncated_to_mode): Define it.
	* simplify-rtx.c (simplify_unary_operation_1): Use it.

Co-Authored-By: Adam Nemet <anemet@caviumnetworks.com>

From-SVN: r111573
2006-02-28 20:32:20 +00:00
Jeff Law e5c7f9f582 tree-chrec.c (chrec_convert_aggressive): Do not eliminate conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover...
* tree-chrec.c (chrec_convert_aggressive): Do not eliminate
        conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover
        the range allowed by TYPE_PRECISION.

From-SVN: r111568
2006-02-28 09:49:12 -07:00
Jeff Law ea45681a7a tree.h (strct phi_arg_d): Remove unused NONZERO field.
* tree.h (strct phi_arg_d): Remove unused NONZERO field.

From-SVN: r111567
2006-02-28 09:44:33 -07:00
Richard Guenther e2f949562c pr26421.c: Fix testcase to force struct decomposition.
2006-02-28  Richard Guenther  <rguenther@suse.de>

        * gcc.dg/tree-ssa/pr26421.c: Fix testcase to force struct
        decomposition.

From-SVN: r111566
2006-02-28 14:53:36 +00:00