Commit Graph

74429 Commits

Author SHA1 Message Date
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
Paul Brook 3cf9427949 install.texi: Docuemnt --with-mode.
2006-03-17  Paul Brook  <paul@codesourcery.com>

	* doc/install.texi: Docuemnt --with-mode.
	* config.gcc: Add --with-mode for arm*-*-*.
	* config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode".

From-SVN: r112174
2006-03-17 14:48:58 +00:00
J"orn Rennecke 4241ecb002 sh.c (max_labelno_before_reorg): New variable.
* sh.c (max_labelno_before_reorg): New variable.
	(sh_reorg): Initialize it.
	(find_barrier): Check max_labelno_before_reorg before using
	label_to_alignment.  Take length of explicit alignment insns
	into account.  When seeing a UNSPECV_CONST_END, return it.

	* sh.c (fixup_mova): Set mode of affected label to QImode.
	(untangle_mova): New function.
	(find_barrier): Use it.  Check mode of label before decrementing
	num_mova.
	(sh_reorg): Likewise.
	Set mode of all insns back to VOIDmode.

	* sh.c (MOVA_LABELREF): New macro.
	(mova_p, fixup_mova, sh_reorg): Use it.
	(find_barrier, sh_reorg): Don't count num_mova back to 0 unless
	ADDR_DIFF_VEC matches mova.

From-SVN: r112173
2006-03-17 14:29:08 +00:00
Steven Bosscher 7925243518 dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument with ATTRIBUTE_UNUSED.
* dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument
	with ATTRIBUTE_UNUSED.

From-SVN: r112171
2006-03-17 07:11:35 +00:00
Alexandre Oliva 6a03730827 dwarf2out.c (dwarf2out_stack_adjust): Always track the stack pointer...
* dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
pointer, instead of assuming it is possible to derive the
correct args size from a call insn.

From-SVN: r112170
2006-03-17 06:08:49 +00:00
Jan-Benedict Glaw d97c12956f rtl.h (CONST_INT_P): Define.
* rtl.h (CONST_INT_P): Define.
	* config/vax/vax.c (print_operand_address): Use CONST_INT_P()
	instead of GET_CODE(x) == CONST_INT.
	(vax_rtx_costs): Likewise.
	(vax_output_int_move): Likewise.
	(vax_output_int_add): Likewise.
	(legitimate_constant_address_p): Likewise.
	(index_term_p): Likewise.
	* config/vax/vax.h (PRINT_OPERAND): Likewise.
	* config/vax/vax.md (and<mode>3): Likewise.
	(ashrsi3): Likewise.
	(extv): Likewise.
	(movstricthi): Likewise.
	(movstrictqi): Likewise.
	(rotrsi3): Likewise.
	(five unnamed insns): Likewise.

From-SVN: r112169
2006-03-17 01:12:33 +00:00
Geoffrey Keating 192d0f895b tm.texi (SDB and DWARF): Add extra parameter to ASM_OUTPUT_DWARF_OFFSET.
* doc/tm.texi (SDB and DWARF): Add extra parameter to
	ASM_OUTPUT_DWARF_OFFSET.  Use @var to indicate metavariables.
	* dwarf2asm.h (dw2_asm_output_offset): Add section parameter.
	* dwarf2asm.c (dw2_asm_output_offset): Add base section parameter.
	Pass to ASM_OUTPUT_DWARF_OFFSET.
	* dwarf2out.c (debug_frame_section): New.
	(output_call_frame_info): Use debug_frame_section.  Pass it to
	dw2_asm_output_offset.
	(output_die): Pass appropriate section to dw2_asm_output_offset.
	(output_compilation_unit_header): Likewise.
	(output_pubnames): Likewise.
	(output_aranges): Likewise.
	(enum dw_val_class): Break dw_val_class_lbl_offset into
	dw_val_class_lineptr and dw_val_class_macptr.
	(add_AT_lbl_offset): Delete.
	(add_AT_lineptr): New.
	(add_AT_macptr): New.
	(AT_lbl): Expect a lineptr or macptr.
	(print_die): Handle dw_val_class_lineptr and dw_val_class_macptr.
	(attr_checksum): Likewise.
	(same_dw_val_p): Likewise.
	(size_of_die): Likewise.
	(value_format): Likewise.
	(output_die): Likewise.
	(dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of
	add_AT_lbl_offset.
	* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
	* config/i386/i386.c (x86_file_start): Call darwin_file_start.
	* config/darwin-protos.h (darwin_file_start): New.
	(darwin_asm_output_dwarf_offset): New.
	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
	* config/rs6000/rs6000.c (rs6000_darwin_file_start): Call
	darwin_file_start.
	* config/darwin.c (darwin_emit_unwind_label): Don't output label
	if not EH section; simplify.
	(darwin_file_start): New.
	(darwin_asm_output_dwarf_offset): New.
	* config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment,
	mark as 'debug'.
	(DEBUG_INFO_SECTION): Likewise.
	(DEBUG_ABBREV_SECTION): Likewise.
	(DEBUG_ARANGES_SECTION): Likewise.
	(DEBUG_MACINFO_SECTION): Likewise.
	(DEBUG_LINE_SECTION): Likewise.
	(DEBUG_LOC_SECTION): Likewise.
	(DEBUG_PUBNAMES_SECTION): Likewise.
	(DEBUG_STR_SECTION): Likewise.
	(DEBUG_RANGES_SECTION): Likewise.
	(FRAME_BEGIN_LABEL): Must start with 'L' in debug section.
	(ASM_OUTPUT_DWARF_OFFSET): New.

From-SVN: r112168
2006-03-17 00:35:32 +00:00
GCC Administrator 8e9103166d Daily bump.
From-SVN: r112166
2006-03-17 00:17:02 +00:00
Roger Sayle 37311e710c gfortran.h (gfc_equiv_info): Add length field.
* gfortran.h (gfc_equiv_info): Add length field.
	* trans-common.c (copy_equiv_list_to_ns): Set the length field.
	* dependency.c (gfc_are_equivalenced_arrays): Use both the offset
	and length fields to determine whether the two equivalenced symbols
	overlap in memory.

	* gfortran.dg/dependency_13.f90: New test case.

From-SVN: r112162
2006-03-17 00:02:53 +00:00