Commit Graph

74537 Commits

Author SHA1 Message Date
Richard Sandiford 08b1e29a35 md.texi: Refer to i386/constraints.md instead of i386/predicates.md.
* doc/md.texi: Refer to i386/constraints.md instead of
	i386/predicates.md.
	* config/i386/constraints.md: New file, extracted from...
	* config/i386/predicates.md: ...here.
	* config/i386/i386.md: Include constraints.md.

From-SVN: r112280
2006-03-22 07:23:00 +00:00
Richard Sandiford 567b3b8257 predicates.md (const_call_insn_operand): Allow direct calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
* config/mips/predicates.md (const_call_insn_operand): Allow direct
	calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
	* config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS.
	Use TARGET_OLDABI instead of !TARGET_NEWABI.
	(loadgp): Use mips_current_loadgp_style.
	(loadgp_noshared): New pattern.
	(sibcall_internal): Use MIPS_CALL.
	(sibcall_value_internal): Likewise.
	(sibcall_value_multiple_internal): Likewise.
	(call_internal): Likewise.
	(call_value_internal): Likewise.
	(call_value_multiple_internal): Likewise.
	(call_split): Use MIPS_CALL and add an 'S' constraint.
	(call_value_split): Likewise.
	(call_value_multiple_split): Likewise.
	* config/mips/mips.opt (-mabicalls): Tweak docstring.
	(-mshared): New option.
	* config/mips/mips-protos.h (mips_loadgp_style): New enum.
	(mips_current_loadgp_style): Declare.
	* config/mips/mips.c (mips_classify_symbol): Avoid using
	SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS.  Use SYMBOL_GENERAL
	rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if
	TARGET_ABSOLUTE_ABICALLS.
	(override_options): Adjust comments.  Improve the warning that is
	issued when -mabicalls and -G are used together.
	(mips_file_start): Remove comment.
	(mips_current_loadgp_style): New function.
	(mips_gnu_local_gp): New variable.
	(mips_emit_loadgp): Use mips_current_loadgp_style.  Handle
	LOADGP_ABSOLUTE.
	(mips_output_function_prologue): Use mips_current_laodgp_style.
	(mips_expand_prologue): Call mips_emit_loadgp before emitting
	the cprestore instruction.
	(mips_extra_live_on_entry): Fix reversed test.  Don't make $25
	live for TARGET_ABSOLUTE_ABICALLS.
	* config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro.
	(ASM_SPEC): Pass down -mshared and -mno-shared.
	(MIPS_CALL): New macro.
	* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__
	definition.
	* doc/invoke.texi (-mabicalls): Update documentation.
	(-mshared): Document.

From-SVN: r112279
2006-03-22 07:21:00 +00:00
Paul Thomas 0c5a42a660 re PR fortran/17298 (gfortran ICE: Not Implemented: Scalarization of non-elemental intrinsic: __transfer1)
2006-03-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/17298
	*trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): New
	function to implement array valued TRANSFER intrinsic.
	(gfc_conv_intrinsic_function): Call the new function if TRANSFER
	and non-null se->ss.
	(gfc_walk_intrinsic_function): Treat TRANSFER as one of the
	special cases by calling gfc_walk_intrinsic_libfunc directly.

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

	PR fortran/17298
	* gfortran.dg/transfer_array_intrinsic_1.f90: New test.
	* gfortran.dg/transfer_array_intrinsic_2.f90: New test.

From-SVN: r112278
2006-03-22 05:13:13 +00:00
Jason Merrill ac382b62f1 * builtins.c (expand_builtin_fork_or_exec): Fix pasto.
From-SVN: r112275
2006-03-22 00:08:48 -05:00
Jason Merrill 5b5cba1f05 re PR middle-end/20297 (#pragma GCC visibility isn't properly handled for builtin functions)
PR middle-end/20297
        * expr.c (init_block_move_fn): Force default visibility.
        (init_block_clear_fn): Likewise.
        * builtins.c (expand_builtin_fork_or_exec): Likewise.
        * targhooks.c (default_external_stack_protect_fail): Likewise.

From-SVN: r112270
2006-03-21 23:20:52 -05:00
GCC Administrator 1dc11afe86 Daily bump.
From-SVN: r112268
2006-03-22 00:17:30 +00:00
Janis Johnson b09940e914 gcc-dg.exp (cleanup-modules): New proc.
* lib/gcc-dg.exp (cleanup-modules): New proc.
	* gfortran.dg/allocatable_function_1.f90,
	gfortran.dg/allocate_char_star_scalar_1.f90,
	gfortran.dg/assumed_charlen_function_1.f90,
	gfortran.dg/assumed_dummy_1.f90,
	gfortran.dg/assumed_shape_ranks_1.f90,
	gfortran.dg/assumed_shape_ranks_2.f90,
	gfortran.dg/assumed_size_dt_dummy.f90,
	gfortran.dg/auto_char_dummy_array_1.f90,
	gfortran.dg/auto_char_len_3.f90,
	gfortran.dg/automatic_module_variable.f90,
	gfortran.dg/bad_automatic_objects_1.f90,
	gfortran.dg/char_array_constructor.f90,
	gfortran.dg/char_array_structure_constructor.f90,
	gfortran.dg/char_result_11.f90, gfortran.dg/char_result_9.f90,
	gfortran.dg/contained_1.f90, gfortran.dg/convert_1.f90,
	gfortran.dg/cray_pointers_5.f90, gfortran.dg/data_constraints_1.f90,
	gfortran.dg/default_initialization.f90, gfortran.dg/der_charlen_1.f90,
	gfortran.dg/der_io_2.f90, gfortran.dg/der_io_3.f90,
	gfortran.dg/derived_pointer_recursion.f90,
	gfortran.dg/derived_recursion.f90, gfortran.dg/der_pointer_1.f90,
	gfortran.dg/der_pointer_3.f90, gfortran.dg/der_pointer_4.f90,
	gfortran.dg/dummy_functions_1.f90,
	gfortran.dg/elemental_initializer_1.f90,
	gfortran.dg/elemental_non_intrinsic_dummy_1.f90,
	gfortran.dg/elemental_pointer_1.f90,
	gfortran.dg/elemental_subroutine_1.f90,
	gfortran.dg/elemental_subroutine_2.f90, gfortran.dg/entry_1.f90,
	gfortran.dg/entry_3.f90, gfortran.dg/enum_10.f90,
	gfortran.dg/equiv_constraint_3.f90, gfortran.dg/func_derived_1.f90,
	gfortran.dg/func_derived_2.f90, gfortran.dg/func_derived_3.f90,
	gfortran.dg/generic_1.f90, gfortran.dg/generic_2.f90,
	gfortran.dg/generic_3.f90, gfortran.dg/generic_4.f90,
	gfortran.dg/global_references_1.f90,
	gfortran.dg/host_used_types_1.f90, gfortran.dg/implicit_1.f90,
	gfortran.dg/implicit_2.f90, gfortran.dg/implicit_actual.f90,
	gfortran.dg/initialization_1.f90, gfortran.dg/int_1.f90,
	gfortran.dg/intent_used_1.f90, gfortran.dg/interface_1.f90,
	gfortran.dg/interface_2.f90, gfortran.dg/internal_references_2.f90,
	gfortran.dg/io_constraints_1.f90, gfortran.dg/io_constraints_2.f90,
	gfortran.dg/large_integer_kind_1.f90,
	gfortran.dg/large_real_kind_1.f90,
	gfortran.dg/module_blank_common.f90, gfortran.dg/module_commons_1.f90,
	gfortran.dg/module_double_reuse.f90,
	gfortran.dg/module_equivalence_1.f90,
	gfortran.dg/module_interface_1.f90,
	gfortran.dg/module_parameter_array_refs_1.f90,
	gfortran.dg/named_interface.f90, gfortran.dg/namelist_14.f90,
	gfortran.dg/namelist_15.f90, gfortran.dg/namelist_1.f90,
	gfortran.dg/namelist_4.f90, gfortran.dg/namelist_use.f90,
	gfortran.dg/namelist_use_only.f90, gfortran.dg/nested_modules_1.f90,
	gfortran.dg/nested_modules_2.f90, gfortran.dg/nested_modules_3.f90,
	gfortran.dg/nested_modules_4.f90, gfortran.dg/nested_modules_5.f90,
	gfortran.dg/parens_5.f90, gfortran.dg/parent_result_ref_4.f90,
	gfortran.dg/pr15164.f90, gfortran.dg/pr16861.f90,
	gfortran.dg/pr17615.f90, gfortran.dg/pr19926.f90,
	gfortran.dg/pr21177.f90, gfortran.dg/pr26246_1.f90,
	gfortran.dg/private_type_1.f90, gfortran.dg/private_type_2.f90,
	gfortran.dg/private_type_3.f90, gfortran.dg/private_type_4.f90,
	gfortran.dg/procedure_lvalue.f90, gfortran.dg/pure_byref_3.f90,
	gfortran.dg/same_name_1.f90,
	gfortran.dg/sibling_dummy_procedure_1.f90,
	gfortran.dg/sibling_dummy_procedure_2.f90,
	gfortran.dg/sibling_dummy_procedure_3.f90,
	gfortran.dg/substr_1.f90, gfortran.dg/substring_equivalence.f90,
	gfortran.dg/use_allocated_1.f90, gfortran.dg/used_dummy_types_1.f90,
	gfortran.dg/used_dummy_types_2.f90,
	gfortran.dg/used_dummy_types_3.f90,
	gfortran.dg/used_dummy_types_4.f90,
	gfortran.dg/used_dummy_types_5.f90,
	gfortran.dg/used_interface_ref.f90, gfortran.dg/used_types_1.f90,
	gfortran.dg/userdef_operator_1.f90: Use it.

From-SVN: r112264
2006-03-21 23:50:37 +00:00
Richard Sandiford d9870b7ef4 predicates.md (const_call_insn_operand): Allow direct calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
* config/mips/predicates.md (const_call_insn_operand): Allow direct
	calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
	* config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS.
	Use TARGET_OLDABI instead of !TARGET_NEWABI.
	(loadgp): Use mips_current_loadgp_style.
	(loadgp_noshared): New pattern.
	(sibcall_internal): Use MIPS_CALL.
	(sibcall_value_internal): Likewise.
	(sibcall_value_multiple_internal): Likewise.
	(call_internal): Likewise.
	(call_value_internal): Likewise.
	(call_value_multiple_internal): Likewise.
	(call_split): Use MIPS_CALL and add an 'S' constraint.
	(call_value_split): Likewise.
	(call_value_multiple_split): Likewise.
	* config/mips/mips.opt (-mabicalls): Tweak docstring.
	(-mshared): New option.
	* config/mips/mips-protos.h (mips_loadgp_style): New enum.
	(mips_current_loadgp_style): Declare.
	* config/mips/mips.c (mips_classify_symbol): Avoid using
	SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS.  Use SYMBOL_GENERAL
	rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if
	TARGET_ABSOLUTE_ABICALLS.
	(override_options): Adjust comments.  Improve the warning that is
	issued when -mabicalls and -G are used together.
	(mips_file_start): Remove comment.
	(mips_current_loadgp_style): New function.
	(mips_gnu_local_gp): New variable.
	(mips_emit_loadgp): Use mips_current_loadgp_style.  Handle
	LOADGP_ABSOLUTE.
	(mips_output_function_prologue): Use mips_current_laodgp_style.
	(mips_expand_prologue): Call mips_emit_loadgp before emitting
	the cprestore instruction.
	(mips_extra_live_on_entry): Fix reversed test.  Don't make $25
	live for TARGET_ABSOLUTE_ABICALLS.
	* config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro.
	(ASM_SPEC): Pass down -mshared and -mno-shared.
	(MIPS_CALL): New macro.
	* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__
	definition.
	* doc/invoke.texi (-mabicalls): Update documentation.
	(-mshared): Document.

From-SVN: r112261
2006-03-21 21:49:13 +00:00
Steve Ellcey 487d9a6153 unwind-hpux.c: New file.
* config/ia64/unwind-hpux.c: New file.
	* config/ia64/t-hpux: Add unwind-hpux.c to libgcc.

From-SVN: r112259
2006-03-21 21:19:10 +00:00
Kaveh R. Ghazi d9d1a9582e advance.f90, [...]: Delete temp file.
* gfortran.dg/advance.f90, gfortran.dg/backspace_2.f,
	gfortran.dg/comma.f, gfortran.dg/direct_io_2.f90,
	gfortran.dg/tl_editing.f90, gfortran.dg/unf_io_convert_1.f90,
	gfortran.dg/write_back.f,
	gfortran.fortran-torture/execute/inquire_1.f90,
	gfortran.fortran-torture/execute/inquire_3.f90: Delete temp file.

From-SVN: r112258
2006-03-21 21:17:54 +00:00
Steve Ellcey f7da48ef7e re PR libgomp/26384 (FAIL: libgomp.c/appendix-a/a.18.1.c execution test)
PR libgomp/26384
	* config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options.

From-SVN: r112257
2006-03-21 21:12:00 +00:00
Jeff Law a3b196e342 tree-vrp.c (extract_range_from_unary_expr): Derive ranges for type conversions of a VR_VARYING source to a wider type.
* tree-vrp.c (extract_range_from_unary_expr): Derive ranges for
	type conversions of a VR_VARYING source to a wider type.

	* gcc.dg/tree-ssa/vrp28.c: New test.

From-SVN: r112256
2006-03-21 14:01:42 -07:00
Eric Botcazou ec23ed606d config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to tm_file on Solaris 10 and later.
2006-03-21  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to
	tm_file on Solaris 10 and later.
	(sparc64-*-solaris2*): Likewise.
	(sparc-*-solaris2*): Likewise.
	* config/sol26.h: Rename to config/sol2-6.h.
	* config/sol2-10.h: New file.

testsuite/

	* gcc.dg/builtins-config.h (Solaris case): Define HAVE_C99_RUNTIME
	if _STDC_C99 is defined.
	* gcc.dg/builtins-18.c: Pass -std=c99 on Solaris.
	* gcc.dg/builtins-20.c: Likewise.
	* gcc.dg/builtins-53.c: Likewise.
	* gcc.dg/single-precision-constant.c: Likewise. Also pass
	-mmacosx-version-min=10.3 on PowerPC/Darwin.

From-SVN: r112255
2006-03-21 20:59:11 +00:00
Andrew Pinski 5ded46ebfa re PR tree-optimization/26781 (ICE in tree-ssa-pre.c at create_component_ref_by_piec)
2006-03-21  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/26781
        * tree-ssa-pre.c (create_component_ref_by_pieces):
        Handle STRING_CST.
2006-03-21  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/26781
        * gcc.c-torture/compile/pr26781-1.c: New test.
        * gcc.c-torture/compile/pr26781-2.c: New test.

From-SVN: r112254
2006-03-21 10:58:50 -08:00
Jakub Jelinek 3c9bb46ee9 re PR c++/26690 (ICE in get_callee_fndecl, at tree.c:5806 with OpenMP)
PR c++/26690
	* tree.c (get_callee_fndecl): If CALL is error_mark_node,
	return it immediately.

	* g++.dg/gomp/pr26690-1.C: New test.
	* g++.dg/gomp/pr26690-2.C: New test.

From-SVN: r112253
2006-03-21 19:35:20 +01:00
Michael Matz b6bbd675eb genautomata.c (<struct state>, [...]): New members.
* genautomata.c (<struct state>, num_out_arcs, presence_signature):
	New members.
	(remove_arc, add_arc): Update num_out_arcs member.
	(set_out_arc_insns_equiv_num): Returns nothing instead of number
	of out arcs.
	(cache_presence): New function.
	(compare_states_for_equiv): New function.
	(state_is_differed): Don't take number of outargs, adjust callers.
	Use new invariant for speeding up.
	(init_equiv_class): Create initial classes based on sorted
	input.
	(partition_equiv_class): Don't track out_arcs_num.
	(evaluate_equiv_classes): Call cache_presence on all states and
	sort them.

From-SVN: r112252
2006-03-21 17:27:56 +00:00
Jakub Jelinek fae2b46b09 re PR c++/26691 (Wrong code for constructor with default value)
PR c++/26691
	* cp-gimplify.c (cxx_omp_clause_apply_fn): Handle default arguments.

	* testsuite/libgomp.c++/pr26691.C: New test.

From-SVN: r112251
2006-03-21 17:21:24 +01:00
Jason Merrill aa09f986bc re PR c++/21581 ((optimisation) Functions in anonymous namespaces should default to "hidden" visibility)
PR c++/21581
        * parser.c (cp_parser_declaration): Support attributes on
        anonymous namespaces.
        * name-lookup.c (push_namespace_with_attribs): Anonymous
        namespaces default to hidden visibility.

From-SVN: r112250
2006-03-21 11:15:25 -05:00
Bernd Schmidt c4963a0a32 bfin-protos.h (bfin_dsp_memref_p): Declare.
* config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare.
	* config/bfin/bfin.c (bfin_dsp_memref_p): New function.
	(bfin_valid_reg_p): Test for pseudos explicitly and use only
	REGNO_MODE_CODE_OK_FOR_BASE_P.  New args MODE and OUTER_CODE; all
	callers changed.
	* config/bfin/bfin.h (PREG_P): Use P_REGNO_P.
	(IREG_P, P_REGNO_P, I_REGNO_P): New macros.
	(enum reg_class, REG_CLASS_CONTENTS): Add IPREGS.
	(BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
	REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete
	macros.
	(IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS,
	REGNO_MODE_CODE_OK_FOR_BASE_P): New macros.
	(REGNO_REG_CLASS): ARGP is in PREGS.
	* config/bfin/bfin.md (movhi_insn): Allow for addresses containing
	IREGS.
	(zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split
	to deal with those addresses.
	* addresses.h: New file.
	* caller-save.c: Include "addresses.h".
	(init_caller_save): Use new base_reg_class function.
	* rtl-factoring.c: Include "addresses.h".
	(recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1.
	* recog.c: Include "addresses.h".
	(preprocess_constraints): Use new base_reg_class function.
	* regrename.c: Include "addresses.h".
	(scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class
	functions.  Keep track of a new var INDEX_CODE to compute valid
	classes.
	(replace_oldest_value_addr): Likewise.
	(replace_oldest_value_mem): Use base_reg_class.
	* reload.c: Include "addresses.h".
	(REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros.
	(find_reloads): Use new base_reg_class function.
	(find_reloads_address): Likewise; also use regno_ok_for_base_p.
	(find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE;
	all callers and prototype changed.
	* reload1.c: Include "addresses.h".
	(maybe_fix_stack_asms): Use base_reg_class.
	* regclass.c: Include "addresses.h".
	(ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions.
	(init_reg_autoinc): Use new base_reg_class function.
	(record_reg_classes): Likewise.
	(record_address_regs): Delete arg CLASS; add args CONTEXT, MODE,
	OUTER_CODE and INDEX_CODE.  All callers and prototype changed.
	Use new args to compute necessary class.

	* Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o,
	regrename.o, rtl-factoring.o): Update dependencies.
	* doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document.
	(REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
	(REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P,
	REG_OK_FOR_INDEX_P): Delete documentation.

From-SVN: r112248
2006-03-21 13:07:33 +00:00
Paolo Carlini 0002d5d2bc re PR libstdc++/25482 (Specialize (overload) std::copy/find for streambuf iterators)
2006-03-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/25482
	* include/bits/stl_algobase.h (__copy_aux(_CharT*, _CharT*,
	ostreambuf_iterator<_CharT>), __copy_aux(const _CharT*, const _CharT*,
	ostreambuf_iterator<_CharT>), __copy_aux(istreambuf_iterator<_CharT>,
	istreambuf_iterator<_CharT>, _CharT*), copy(istreambuf_iterator<_CharT>,
	istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>)): Declare.
	* include/bits/stl_algo.h (find(istreambuf_iterator<_CharT>,
	istreambuf_iterator<_CharT>, _CharT)): Likewise.
	* include/bits/streambuf_iterator.h (copy(istreambuf_iterator<_CharT>,
	istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>),
	__copy_aux(_CharT*, _CharT*, ostreambuf_iterator<_CharT>),
	__copy_aux(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT>),
	__copy_aux(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
	_CharT*), find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
	_CharT)): Define.
	(class istreambuf_iterator<>, class ostreambuf_iterator<>): Declare
	friends.
	* include/std/std_streambuf.h (class basic_streambuf<>): Likewise.
	* include/bits/cpp_type_traits.h (struct __is_char<>): Add.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc: New.
	* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: New.
	* testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: New.
	* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: New.
	* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc: New.
	* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: New.
	* testsuite/performance/25_algorithms/copy_streambuf_iterators.cc: New.
	* testsuite/performance/25_algorithms/find_istreambuf_iterators.cc: New.

From-SVN: r112247
2006-03-21 12:25:11 +00:00
Alexey Starovoytov 69bdb292fd config.gcc (sparc-*-solaris2*): Change the default CPU setting from V7 to V9 for Solaris 7 and above.
* config.gcc (sparc-*-solaris2*): Change the default CPU setting
	from V7 to V9 for Solaris 7 and above.

From-SVN: r112246
2006-03-21 11:15:44 +00:00
Toon Moene 0698a1d2bd options.c (gfc_init_options): Initialize flag_argument_noalias to 3.
2006-03-21  Toon Moene  <toon@moene.indiv.nluug.nl>

	* fortran/options.c (gfc_init_options): Initialize
	flag_argument_noalias to 3.
	* doc/invoke.texi: Document new flag -fargument-noalias-anything.
	* tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2,
	argument pointers may not alias any other storage.
	* common.opt: Define option -fargument-noalias-anything.
	* tree-ssa-structalias.c (intra_create_variable_infos): Fortran
	alias semantics is specified by flag_argument_noalias > 2.

From-SVN: r112243
2006-03-21 06:32:57 +00:00
Jeff Law e67c25c738 tree-pass.h (pass_phi_only_copy_prop): Delete.
* tree-pass.h (pass_phi_only_copy_prop): Delete.
	(pass_phi_only_cprop): Declare.
	* passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop
	with phi_only_cprop
	* tree-ssa-dom.c (degenerate_phi_result): New function.
	(remove_stmt_or_phi, get_lhs_or_phi_result): Likewise.
	(get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise.
	(eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise.
	(eliminate_degenerate_phis): Likewise.
	(pass_phi_only_cprop): New pass descriptor.
	* tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and
	support code.  Callers updated.
	(execute_copy_prop, do_copy_prop): Likewise and corresponding changes.
	(store_copy_prop): Likewise.
	(do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove.

	* gcc.dg/tree-ssa/pr21829.c: New test.

From-SVN: r112242
2006-03-20 22:07:37 -07:00
Jason Merrill 4a282de4b3 use scan-hidden
From-SVN: r112241
2006-03-20 23:00:36 -05:00
Jeff Law 39a404c5ab 20030807-2.c: Make sure to run VRP.
* gcc.dg/tree-ssa/20030807-2.c: Make sure to run VRP.

From-SVN: r112240
2006-03-20 20:44:56 -07:00
Jason Merrill 0ed5edac59 re PR c++/21764 (visibility attributes on namespace scope)
PR c++/21764
        * c-pragma.c (visstack): Move out of handle_pragma_visibility.
        (push_visibility, pop_visibility): Likewise.
        * c-pragma.h: Declare them.
        * cp/name-lookup.h (struct cp_binding_level): Add has_visibility
        bitfield.
        * cp/name-lookup.c: Include c-pragma.h.
        (push_namespace_with_attribs): Split out from push_namespace.
        Push visibility if appropriate.  Set TREE_PUBLIC on namespaces.
        (leave_scope): Pop visibility if appropriate.
        * cp/parser.c (cp_parser_declaration, cp_parser_namespace_name): Allow
        attributes on namespace declarations.

        PR c++/19238
        * cp/decl.c (cp_finish_decl): Call determine_visibility later.
        (start_preparsed_function): Likewise.
        * cp/cp-tree.h (CP_TYPE_CONTEXT, TYPE_NAMESPACE_SCOPE_P): New macros.
        (TYPE_CLASS_SCOPE_P, TYPE_FUNCTION_SCOPE_P): New macros.
        * cp/decl2.c (determine_visibility_from_class): Split out from...
        (determine_visibility): ...here.  Handle function scope and
        nested classes.
        (import_export_decl): Move visibility handling to
        determine_visibility_from_class.

From-SVN: r112239
2006-03-20 22:19:06 -05:00
GCC Administrator 29c14e849e Daily bump.
From-SVN: r112236
2006-03-21 00:17:17 +00:00
Richard Sandiford 8ce1ac69de target-supports.exp (check_no_compiler_messages): New procedure.
* lib/target-supports.exp (check_no_compiler_messages): New procedure.
	(check_visibility_available): Use it.
	(check_effective_target_default_packed): Likewise.
	(check_effective_target_pcc_bitfield_type_matters): Likewise.
	(check_effective_target_fopenmp): Likewise.
	(check_effective_target_freorder): Likewise.
	(check_effective_target_fpic): Likewise.
	(check_named_sections_available): Likewise.
	(check_effective_target_ilp32): Likewise.
	(check_effective_target_lp64): Likewise.

From-SVN: r112232
2006-03-20 23:22:13 +00:00
Kaz Kojima c6d5644365 sh.c (untangle_mova): Initialize n_addr and n_target.
* config/sh/sh.c (untangle_mova): Initialize n_addr and n_target.

	* config/sh/sh.c (find_regmode_weight): Change the type of the first
	parameter and use get_ebb_head_tail.
	(sh_md_init_global): Adjust uses of find_regmode_weight.

From-SVN: r112231
2006-03-20 22:58:32 +00:00
Thomas Koenig 97a6203866 re PR fortran/20935 (failed assertion for maxloc(n, mask=.true.))
2006-03-20  Thomas Koenig  <Thomas.Koenig@online.de>

	PR fortran/20935
	* iresolve.c (gfc_resolve_maxloc):   If mask is scalar,
	prefix the function name with an "s".  If the mask is scalar
	or if its kind is smaller than gfc_default_logical_kind,
	coerce it to default kind.
	(gfc_resolve_maxval):  Likewise.
	(gfc_resolve_minloc):  Likewise.
	(gfc_resolve_minval):  Likewise.
	(gfc_resolve_product):  Likewise.
	(gfc_resolve_sum):  Likewise.

2006-03-20  Thomas Koenig  <Thomas.Koenig@online.de>

	PR fortran/20935
	* m4/iforeach.m4:  Add SCALAR_FOREACH_FUNCTION macro.
	* m4/ifunction.m4:  Add SCALAR_ARRAY_FUNCTION macro.
	* m4/minloc0.m4:  Use SCALAR_FOREACH_FUNCTION.
	* m4/minloc1.m4:  Use SCALAR_ARRAY_FUNCTION.
	* m4/maxloc0.m4:  Use SCALAR_FOREACH_FUNCTION.
	* m4/maxloc1.m4:  Use SCALAR_ARRAY_FUNCTION.
	* m4/minval.m4:  Likewise.
	* m4/maxval.m4:  Likewise.
	* m4/product.m4:  Likewise.
	* m4/sum.m4:  Likewise.
	* minloc0_16_i16.c : Regenerated.
	* minloc0_16_i4.c : Regenerated.
	* minloc0_16_i8.c : Regenerated.
	* minloc0_16_r10.c : Regenerated.
	* minloc0_16_r16.c : Regenerated.
	* minloc0_16_r4.c : Regenerated.
	* minloc0_16_r8.c : Regenerated.
	* minloc0_4_i16.c : Regenerated.
	* minloc0_4_i4.c : Regenerated.
	* minloc0_4_i8.c : Regenerated.
	* minloc0_4_r10.c : Regenerated.
	* minloc0_4_r16.c : Regenerated.
	* minloc0_4_r4.c : Regenerated.
	* minloc0_4_r8.c : Regenerated.
	* minloc0_8_i16.c : Regenerated.
	* minloc0_8_i4.c : Regenerated.
	* minloc0_8_i8.c : Regenerated.
	* minloc0_8_r10.c : Regenerated.
	* minloc0_8_r16.c : Regenerated.
	* minloc0_8_r4.c : Regenerated.
	* minloc0_8_r8.c : Regenerated.
	* minloc1_16_i16.c : Regenerated.
	* minloc1_16_i4.c : Regenerated.
	* minloc1_16_i8.c : Regenerated.
	* minloc1_16_r10.c : Regenerated.
	* minloc1_16_r16.c : Regenerated.
	* minloc1_16_r4.c : Regenerated.
	* minloc1_16_r8.c : Regenerated.
	* minloc1_4_i16.c : Regenerated.
	* minloc1_4_i4.c : Regenerated.
	* minloc1_4_i8.c : Regenerated.
	* minloc1_4_r10.c : Regenerated.
	* minloc1_4_r16.c : Regenerated.
	* minloc1_4_r4.c : Regenerated.
	* minloc1_4_r8.c : Regenerated.
	* minloc1_8_i16.c : Regenerated.
	* minloc1_8_i4.c : Regenerated.
	* minloc1_8_i8.c : Regenerated.
	* minloc1_8_r10.c : Regenerated.
	* minloc1_8_r16.c : Regenerated.
	* minloc1_8_r4.c : Regenerated.
	* minloc1_8_r8.c : Regenerated.
	* maxloc0_16_i16.c : Regenerated.
	* maxloc0_16_i4.c : Regenerated.
	* maxloc0_16_i8.c : Regenerated.
	* maxloc0_16_r10.c : Regenerated.
	* maxloc0_16_r16.c : Regenerated.
	* maxloc0_16_r4.c : Regenerated.
	* maxloc0_16_r8.c : Regenerated.
	* maxloc0_4_i16.c : Regenerated.
	* maxloc0_4_i4.c : Regenerated.
	* maxloc0_4_i8.c : Regenerated.
	* maxloc0_4_r10.c : Regenerated.
	* maxloc0_4_r16.c : Regenerated.
	* maxloc0_4_r4.c : Regenerated.
	* maxloc0_4_r8.c : Regenerated.
	* maxloc0_8_i16.c : Regenerated.
	* maxloc0_8_i4.c : Regenerated.
	* maxloc0_8_i8.c : Regenerated.
	* maxloc0_8_r10.c : Regenerated.
	* maxloc0_8_r16.c : Regenerated.
	* maxloc0_8_r4.c : Regenerated.
	* maxloc0_8_r8.c : Regenerated.
	* maxloc1_16_i16.c : Regenerated.
	* maxloc1_16_i4.c : Regenerated.
	* maxloc1_16_i8.c : Regenerated.
	* maxloc1_16_r10.c : Regenerated.
	* maxloc1_16_r16.c : Regenerated.
	* maxloc1_16_r4.c : Regenerated.
	* maxloc1_16_r8.c : Regenerated.
	* maxloc1_4_i16.c : Regenerated.
	* maxloc1_4_i4.c : Regenerated.
	* maxloc1_4_i8.c : Regenerated.
	* maxloc1_4_r10.c : Regenerated.
	* maxloc1_4_r16.c : Regenerated.
	* maxloc1_4_r4.c : Regenerated.
	* maxloc1_4_r8.c : Regenerated.
	* maxloc1_8_i16.c : Regenerated.
	* maxloc1_8_i4.c : Regenerated.
	* maxloc1_8_i8.c : Regenerated.
	* maxloc1_8_r10.c : Regenerated.
	* maxloc1_8_r16.c : Regenerated.
	* maxloc1_8_r4.c : Regenerated.
	* maxloc1_8_r8.c : Regenerated.
	* maxval_i16.c : Regenerated.
	* maxval_i4.c : Regenerated.
	* maxval_i8.c : Regenerated.
	* maxval_r10.c : Regenerated.
	* maxval_r16.c : Regenerated.
	* maxval_r4.c : Regenerated.
	* maxval_r8.c : Regenerated.
	* minval_i16.c : Regenerated.
	* minval_i4.c : Regenerated.
	* minval_i8.c : Regenerated.
	* minval_r10.c : Regenerated.
	* minval_r16.c : Regenerated.
	* minval_r4.c : Regenerated.
	* minval_r8.c : Regenerated.
	* sum_c10.c : Regenerated.
	* sum_c16.c : Regenerated.
	* sum_c4.c : Regenerated.
	* sum_c8.c : Regenerated.
	* sum_i16.c : Regenerated.
	* sum_i4.c : Regenerated.
	* sum_i8.c : Regenerated.
	* sum_r10.c : Regenerated.
	* sum_r16.c : Regenerated.
	* sum_r4.c : Regenerated.
	* sum_r8.c : Regenerated.
	* product_c10.c : Regenerated.
	* product_c16.c : Regenerated.
	* product_c4.c : Regenerated.
	* product_c8.c : Regenerated.
	* product_i16.c : Regenerated.
	* product_i4.c : Regenerated.
	* product_i8.c : Regenerated.
	* product_r10.c : Regenerated.
	* product_r16.c : Regenerated.
	* product_r4.c : Regenerated.
	* product_r8.c : Regenerated.

2006-03-20  Thomas Koenig  <Thomas.Koenig@online.de>

	PR fortran/20935
	* gfortran.dg/scalar_mask_2.f90:  New test case.

From-SVN: r112230
2006-03-20 21:56:00 +00:00
Steven Bosscher ede497cfbd function.h (struct function): Rename to x_stack_check_probe_note.
* function.h (struct function) <x_tail_recursion_reentry>:
	Rename to x_stack_check_probe_note.
	(tail_recursion_reentry): Rename to stack_check_probe_note.
	* function.c: Replace tail_recursion_reentry with
	stack_check_probe_note everywhere.
	(expand_function_start): Only emit a note for
	stack_check_probe_note with -fstack-protect.
	* stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes.

	* emit-rtl.c (remove_unnecessary_notes): Remove.
	(pass_remove_unnecessary_notes): Remove.
	* rtl.h (remove_unnecessary_notes): Remove prototype.
	* final.c (final_start_function): Don't call remove_unnecessary_notes.
	* tree-pass.h (pass_remove_unnecessary_notes): Remove.
	* passes.c (pass_remove_unnecessary_notes): Don't run it.

From-SVN: r112229
2006-03-20 21:22:55 +00:00
Andrew Pinski e13f1c1432 re PR tree-optimization/26629 (tree load PRE does not work on array references)
2006-03-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/26629
        * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands.
        (valid_in_set): Handle ARRAY_REF.
        Change "if min_variant or VH" to asserts.
        (create_component_ref_by_pieces): Handle ARRAY_REF.
        (create_expression_by_pieces): Likewise.
        (can_PRE_operation): ARRAY_REFs can now be PRE'd.

2006-03-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/26629
        * gcc.dg/tree-ssa/loadpre12.c: New test.
        * gcc.dg/tree-ssa/loadpre13.c: New test.
        * gcc.dg/tree-ssa/loadpre14.c: New test.
        * gcc.dg/tree-ssa/loadpre15.c: New test.
        * gcc.dg/tree-ssa/loadpre16.c: New test.
        * gcc.dg/tree-ssa/loadpre17.c: New test.
        * gcc.dg/tree-ssa/loadpre18.c: New test.
        * gcc.dg/tree-ssa/loadpre19.c: New test.
        * gcc.dg/tree-ssa/loadpre20.c: New test.
        * gcc.dg/tree-ssa/loadpre21.c: New test.
        * gcc.dg/tree-ssa/loadpre22.c: New test.

From-SVN: r112227
2006-03-20 13:00:18 -08:00
David Edelsohn 7a22dbec36 genpreds.c (write_insn_extra_address_constraint): Argument `c' is operand of switch, not str[0].
* genpreds.c (write_insn_extra_address_constraint): Argument `c'
	is operand of switch, not str[0].

From-SVN: r112225
2006-03-20 11:09:52 -05:00
Richard Guenther 2286285206 README: New file.
2006-03-20  Richard Guenther  <rguenther@suse.de>

        * README: New file.

From-SVN: r112224
2006-03-20 08:55:50 +00:00
Alan Modra e0bf274ff5 rs6000.c (rs6000_handle_option): Use TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too.
* config/rs6000/rs6000.c (rs6000_handle_option): Use
	TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too.

From-SVN: r112223
2006-03-20 18:26:35 +10:30
GCC Administrator 6d394a5c8c Daily bump.
From-SVN: r112221
2006-03-20 00:16:58 +00:00
David Edelsohn e800e79bb2 genpreds.c (write_tm_preds_h): Add semicolon and newline at end of insn_extra_address_constraint declaration.
* genpreds.c (write_tm_preds_h): Add semicolon and newline at
        end of insn_extra_address_constraint declaration.

From-SVN: r112217
2006-03-19 18:12:17 -05:00
David Edelsohn d2894ab516 rs6000.opt (no-fp-in-toc): Use Var not Mask.
* config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask.
        (no-sum-in-toc): Same.
        * config/rs6000/rs6000.c (rs6000_handle_option): Use new
        variables.
        * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
        NO_FP_IN_TOC for -fPIC instead of mask.

        * config/rs6000/t-aix43 (T_ADAFLAGS): Delete.
        (BOOT_LDFLAGS): Delete.
        (LDFLAGS): Delete.
        * config/rs6000/t-aix52: Same.

        * config/rs6000/rs6000.md (store_multiple_power): Delete.
        (stmsi[345678]_power): New.

From-SVN: r112215
2006-03-19 15:57:43 -05:00
Paul Thomas 79a495f101 Correct error in PR number
From-SVN: r112212
2006-03-19 12:56:31 +00:00
Paul Thomas 98cb5a5439 re PR fortran/26716 (gfortran: incorrect choice of overloaded function)
2006-03-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/26716
	*expr.c (external_spec_function): Permit elemental functions.

	PR fortran/26716
	*interface.c (compare_actual_formal): Detect call for procedure
	usage and require rank checking, in this case, for assumed shape
	and deferred shape arrays.
	(gfc_procedure_use): Revert to pre-PR25070 call to
	compare_actual_formal that does not require rank checking..

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

	PR fortran/26716
	* gfortran.dg/elemental_initializer_1.f90: New test.

	PR fortran/26716
	* gfortran.dg/assumed_shape_ranks_2: New test.

From-SVN: r112210
2006-03-19 10:36:09 +00:00
GCC Administrator 4d58f908f9 Daily bump.
From-SVN: r112208
2006-03-19 00:17:10 +00:00
Joseph Myers 828d25ea3d 980523-1.c, [...]: Use target fpic.
* gcc.dg/980523-1.c, gcc.dg/980526-1.c, gcc.dg/switch-1.c: Use
	target fpic.

From-SVN: r112204
2006-03-18 21:44:50 +00:00
Kaveh R. Ghazi fc60b22f9c direct_io_1.f90, [...]: Delete temporary files from testcases.
* gfortran.dg/direct_io_1.f90, gfortran.dg/iostat_2.f90,
	gfortran.dg/open_new.f90, gfortran.dg/open_readonly_1.f90,
	gfortran.dg/pr16935.f90, gfortran.dg/pr20954.f,
	gfortran.dg/read_many_1.f, gfortran.dg/unf_io_convert_2.f90,
	gfortran.fortran-torture/execute/direct_io.f90,
	gfortran.fortran-torture/execute/inquire_2.f90,
	gfortran.fortran-torture/execute/inquire_4.f90,
	gfortran.fortran-torture/execute/list_read_1.f90,
	gfortran.fortran-torture/execute/open_replace.f90,
	gfortran.fortran-torture/execute/slash_edit.f90,
	gfortran.fortran-torture/execute/unopened_unit_1.f90: Delete
	temporary files from testcases.

From-SVN: r112201
2006-03-18 17:08:54 +00:00
Jerry DeLisle 3eb015bcf6 re PR fortran/26509 (incorrect behaviour of error-handler for direct access write)
2006-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/26509
	gfortran.dg/write_direct_eor.f90: New test.

From-SVN: r112199
2006-03-18 01:59:50 +00:00
Jerry DeLisle 54f9e2781e re PR fortran/26509 (incorrect behaviour of error-handler for direct access write)
2006-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/26509
	* libgfortran.h: Add ERROR_DIRECT_EOR.
	* runtime/error.c (translate_error): Add translation for new error.
	* io/transfer.c (write_buf): Add check for EOR when mode is 
	direct access.

From-SVN: r112198
2006-03-18 01:56:07 +00:00
GCC Administrator 8e0524013a Daily bump.
From-SVN: r112195
2006-03-18 00:17:03 +00:00
Steve Ellcey 30b823562a * config/ia64/ia64.opt: Add empty line to end of file.
From-SVN: r112180
2006-03-17 18:42:40 +00:00
Richard Guenther 445a6ba4c1 re PR target/26721 (Gcc generates unaligned access)
2006-03-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/26721
	* builtins.c (get_pointer_alignment): For component style references
	adjust alignment to the component type alignment.  Make sure
	to adjust alignment for component access of constants.

From-SVN: r112177
2006-03-17 17:38:51 +00:00
David Edelsohn d550ef0bf6 pr26350.c: New.
* gcc.target/powerpc/pr26350.c: New.
        * gcc.target/powerpc/indexed-addr.c: New.

From-SVN: r112176
2006-03-17 11:45:46 -05:00
David Edelsohn ea5bd0d8b9 rs6000.md (strlensi): Emit barrier after unconditional jump.
* config/rs6000/rs6000.md (strlensi): Emit barrier after
	unconditional jump.

From-SVN: r112175
2006-03-17 10:37:33 -05:00