Commit Graph

95182 Commits

Author SHA1 Message Date
Richard Sandiford b2a58473d7 re PR bootstrap/41031 (ICE in insert_value_copy_on_edge preventing bootstrap on sparc64 and s390x, testcase on cris-elf)
2009-08-12  Richard Sandiford  <rdsandiford@googlemail.com>

	PR tree-optimization/41031
	* tree-outof-ssa.c (insert_value_copy_on_edge): Use promote_decl_mode
	on the partition variable rather than promote_mode on the source
	type.  Assert that the partition variable's type has the same
	mode as the source value's.

From-SVN: r150701
2009-08-12 16:28:36 +00:00
Paolo Bonzini 666e3cebe1 tm.texi (TARGET_PROMOTE_FUNCTION_MODE): Add documentation for for_return == 2.
2009-08-12  Paolo Bonzini  <bonzini@gnu.org>

	* doc/tm.texi (TARGET_PROMOTE_FUNCTION_MODE): Add documentation
	for for_return == 2.
	* function.c (assign_parm_setup_reg): Use for_return == 2, improve
	comments.
	* calls.c (expand_call): Fix typo.
	* explow.c (promote_decl_mode): Use for_return == 2 for RESULT_DECL
	and PARM_DECL.
	* stmt.c (expand_value_return): Use promote_function_mode to copy out
	of pseudo.
	* targhooks.c (default_promote_function_mode): Handle for_return == 2.
	* config/cris/cris.c (cris_promote_function_mode): Likewise.
	* config/mmix/mmix.c (mmix_promote_function_mode): Likewise.
	* config/pa/pa.c (pa_promote_function_mode): Likewise.

From-SVN: r150700
2009-08-12 16:23:12 +00:00
Andrew Haley 4b462d7786 builtins.c (compareAndSwapInt_builtin): Use flag_use_atomic_builtins.
2009-08-12  Andrew Haley  <aph@redhat.com>

	* builtins.c (compareAndSwapInt_builtin): Use
	flag_use_atomic_builtins.
	(compareAndSwapLong_builtin): Likewise.
	(compareAndSwapObject_builtin): Likewise.
	* jvspec.c: Add flag_use_atomic_builtins.
	* gcj.texi: Likewise.
	* java-tree.h: Likewise.
	* lang.opt: Likewise.

From-SVN: r150699
2009-08-12 16:10:12 +00:00
Andrew Haley 97804369a9 synchronize.c: New file.
2009-08-11  Andrew Haley  <aph@redhat.com>

	* gcc.target/arm/synchronize.c: New file.

From-SVN: r150698
2009-08-12 15:55:19 +00:00
Andrew Haley 353a58f77c arm.c (arm_init_libfuncs): Add __sync_synchronize.
2009-08-11  Andrew Haley  <aph@redhat.com>

	* config/arm/arm.c (arm_init_libfuncs): Add __sync_synchronize.

From-SVN: r150697
2009-08-12 15:54:37 +00:00
Sebastian Pop 4654745dcd Remove pragma GCC diagnostic warning "-Wc++-compat".
2009-08-12  Sebastian Pop  <sebastian.pop@amd.com>

	PR bootstrap/40103
	* graphite.c: Remove pragma GCC diagnostic warning "-Wc++-compat".

From-SVN: r150696
2009-08-12 15:13:52 +00:00
Richard Guenther daad02781a alias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P.
2009-08-12  Richard Guenther  <rguenther@suse.de>

	* alias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P.
	* gimplify.c (gimplify_modify_expr): Do not use
	lang_hooks.types_compatible_p.
	* tree-ssa.c (useless_type_conversion_p): For aggregates
	just return false if the canonical types differ.

From-SVN: r150695
2009-08-12 15:10:47 +00:00
Sebastian Pop 30de16328a Prepare expressions to be good phi arguments.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/40980
	* sese.c (convert_for_phi_arg): New.
	(add_guard_exit_phis): Use convert_for_phi_arg.

	* testsuite/gfortran.dg/graphite/id-17.f: New.

From-SVN: r150694
2009-08-12 14:32:31 +00:00
Sebastian Pop 8c31ebfa3a Dont add unknown subscript upper bounds.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (pdr_add_data_dimensions): Dont add
	unknown subscript upper bounds.

	* testsuite/gcc.dg/graphite/interchange-6.c: Un-XFAIL.

From-SVN: r150693
2009-08-12 14:31:21 +00:00
Sebastian Pop fb9fb29034 Reimplement interchange heuristic.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>
	    Pranav Garg  <pranav.garg2107@gmail.com>

	* graphite-interchange.c (gather_access_strides): Removed.
	(ppl_max_for_le): New.
	(build_linearized_memory_access): New.
	(memory_stride_in_loop): New.
	(pbb_interchange_profitable_p): Reimplemented.
	* graphite-ppl.h (ppl_new_id_map): New.
	(ppl_interchange): New.

	* testsuite/gcc.dg/graphite/interchange-6.c: XFAILed.


Co-Authored-By: Pranav Garg <pranav.garg2107@gmail.com>

From-SVN: r150692
2009-08-12 14:30:06 +00:00
Sebastian Pop 312aea7f99 Remove interchange heuristic.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-interchange.c (compute_subscript): Removed.
	(compute_array_size_cstr): Removed.
	(compute_array_size_poly): Removed.
	(compute_array_size): Removed.
	(gather_access_strides_poly): Removed.
	(gather_access_strides): Empty.

From-SVN: r150691
2009-08-12 14:28:15 +00:00
Sebastian Pop 25d7cc15a8 Add PDR->nb_subscripts.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (dependence_polyhedron_1): Replace
	pdr_nb_subscripts with PDR_NB_SUBSCRIPTS.
	(graphite_legal_transform_dr): Same.
	(graphite_carried_dependence_level_k): Same.
	* graphite-poly.c (new_poly_dr): Add a parameter nb_subscripts.
	Initialize PDR_NB_SUBSCRIPTS.
	(print_pdr_access_layout): Replace pdr_nb_subscripts with
	PDR_NB_SUBSCRIPTS.
	* graphite-poly.h (struct poly_dr): Add nb_subscripts field.
	(PDR_NB_SUBSCRIPTS): New.
	(pdr_nb_subscripts): Removed.
	(pdr_dim): Simplified.
	* graphite-sese-to-poly.c (build_poly_dr): Replace pdr_nb_subscripts
	with PDR_NB_SUBSCRIPTS.

From-SVN: r150690
2009-08-12 14:27:33 +00:00
Sebastian Pop 66096911fd Undo changes to the PDR representation.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-interchange.c (compute_array_size): Remove use of
	PDR_DATA_CONTAINER.
	* graphite-poly.c (new_poly_dr): Remove argument data_container.
	Do not initialize PDR_DATA_CONTAINER.
	(print_pdr): Do not print PDR_DATA_CONTAINER.
	* graphite-poly.h (struct poly_dr): Remove data_container field.
	(PDR_DATA_CONTAINER): Removed.
	* graphite-sese-to-poly.c (pdr_add_data_dimensions): Remove use of
	PDR_DATA_CONTAINER.
	(build_poly_dr): Same.

From-SVN: r150689
2009-08-12 14:26:42 +00:00
Sebastian Pop 273c5dd38b Add interchange testcase.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

	* testsuite/gcc.dg/graphite/interchange-9.c: New.

From-SVN: r150688
2009-08-12 14:25:32 +00:00
Konrad Trifunovic 7491e5f00c Fix memory leak in DD XFAILs some interchange testcases.
2009-08-05  Konrad Trifunovic  <konrad.trifunovic@gmail.com>
	    Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (graphite_legal_transform_dr): Work on a
	copy of the dependence polyhedron.  Free the temporary objects.
	(graphite_carried_dependence_level_k): Free unused objects before
	returning.

	* testsuite/gcc.dg/graphite/interchange-1.c: XFAILed.
	* testsuite/gcc.dg/graphite/interchange-2.c: XFAILed.
	* testsuite/gcc.dg/graphite/interchange-3.c: XFAILed.
	* testsuite/gcc.dg/graphite/interchange-4.c: XFAILed.
	* testsuite/gcc.dg/graphite/interchange-7.c: XFAILed.


Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>

From-SVN: r150687
2009-08-12 14:24:01 +00:00
Sebastian Pop f4648ed139 Restore original scattering when the transform is not legal.
2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-blocking.c (scop_do_strip_mine): Call store_scattering.
	Early return without analyzing the data dependences if no
	transform has been done.  Call restore_scattering if the transform
	is not legal.
	(graphite-interchange.c): Same.
	* graphite-poly.c (print_scattering_function): Test for PBB_TRANSFORMED.
	(graphite_read_transforms): Initialize PBB_TRANSFORMED.
	(apply_poly_transforms): Do not gcc_assert that
	the transform is legal.
	(new_poly_bb): Initialize PBB_TRANSFORMED, PBB_SAVED, and PBB_ORIGINAL.
	Do not initialize PBB_NB_SCATTERING_TRANSFORM, PBB_NB_LOCAL_VARIABLES,
	PBB_TRANSFORMED_SCATTERING, and PBB_ORIGINAL_SCATTERING.
	(free_poly_dr): Free PBB_TRANSFORMED, PBB_SAVED, and PBB_ORIGINAL.
	* graphite-poly.h (struct poly_scattering): New.
	(struct poly_bb): Add original, transformed, and saved fields.
	Remove transformed_scattering, original_scattering, nb_local_variables,
	and nb_scattering_transform fields.
	(PBB_ORIGINAL, PBB_TRANSFORMED, PBB_SAVED): New.
	(poly_scattering_new): New.
	(poly_scattering_free): New.
	(poly_scattering_copy): New.
	(store_scattering_pbb): New.
	(store_scattering): New.
	(restore_scattering_pbb): New.
	(restore_scattering): New.
	* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
	Initialize PBB_TRANSFORMED and PBB_ORIGINAL.

From-SVN: r150686
2009-08-12 14:23:01 +00:00
Sebastian Pop e31a5bd4bb Correctly parenthesize pretty print structures.
2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.c (print_pbb): Add parentheses in the pretty print.
	(print_scop): Same.

From-SVN: r150685
2009-08-12 14:20:22 +00:00
Sebastian Pop 8e88f9fddf Recompute profile after Graphite.
2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

	* Makefile.in (graphite.o): Depends on PREDICT_H.
	* graphite.c: Include predict.h.
	(graphite_finalize): Call tree_estimate_probability.
	* predict.c (predict_loops): Do not call scev_initialize and
	scev_finalize.
	(tree_estimate_probability_bb): New.
	(tree_estimate_probability): Do not initialize loops: move that
	code to the driver.  Call tree_estimate_probability_bb.
	(tree_estimate_probability_driver): New.
	(pass_profile): Use tree_estimate_probability_driver.
	* predict.h (tree_estimate_probability): Declared.

From-SVN: r150684
2009-08-12 14:19:33 +00:00
Sebastian Pop 87d4d0ee25 Measure time spent in DD analysis and in code gen.
2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (gloog): Add time to TV_GRAPHITE_CODE_GEN.
	* graphite-dependences.c (graphite_legal_transform): Add time to
	TV_GRAPHITE_DATA_DEPS.
	(dependency_between_pbbs_p): Same.
	* timevar.def (TV_GRAPHITE_DATA_DEPS, TV_GRAPHITE_CODE_GEN): New.

From-SVN: r150683
2009-08-12 14:18:17 +00:00
Andrey Belevantsev 4c7af93945 [multiple changes]
2009-08-12  Andrey Belevantsev  <abel@ispras.ru>

    PR rtl-optimization/41033
    * alias.c (nonoverlapping_component_refs_p): Punt if strict aliasing is disabled.

2009-08-12  Richard Guenther  <rguenther@suse.de>

    PR rtl-optimization/41033
    * gcc.dg/pr41033.c: New test.

From-SVN: r150680
2009-08-12 15:50:22 +04:00
Tobias Burnus c0e18b82d0 re PR fortran/41034 (Wrongly rejected proc pointer assignment with CDECL (compiler-directive_1.f90))
2009-08-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41034
        * symbol.c (gfc_copy_attr): Merge bits instead of replace
        bits in gfc_copy_attr.
        * gfc_check_pointer_assign (gfc_check_pointer_assign):
        Initialize ext_attr bits by zero.

From-SVN: r150678
2009-08-12 11:03:38 +02:00
Richard Guenther 64754ed578 trans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL.
2009-08-12  Richard Guenther  <rguenther@suse.de>

	* trans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL.

From-SVN: r150676
2009-08-12 08:33:15 +00:00
Benjamin Kosnik 12d74f0d0d extc++.h: Don't include TR1 if C++0x.
2009-08-11  Benjamin Kosnik  <bkoz@redhat.com>

	* include/precompiled/extc++.h: Don't include TR1 if C++0x.
	* include/precompiled/stdc++.h: Don't include cassert if
	_GLIBCXX_NO_ASSERT defined.
	* include/ext/cast.h (_GLIBCXX_BEGIN_NAMESPACE): Remove extra
	semi-colon.
	* include/ext/pointer.h (_GCC_CXX_POINTER_COMPARISON_OPERATION_SET):
	Same.

	* testsuite/17_intro/headers/all.cc: Move into dialect-specific
	directory.
	* testsuite/17_intro/headers/all_pedantic_errors.cc: Same.
	* testsuite/17_intro/headers/all_assert_neg.cc: Same.
	* testsuite/17_intro/headers/all_c++200x_compatibility.cc: Same.

	* testsuite/17_intro/headers/c++1998/all.cc: Use extc++.h include.
	* testsuite/17_intro/headers/c++1998/stdc++.cc: Converted all.cc,
	use stdc++.h include.
	* testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc: Same.
	* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Same.
	* testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc: Same.
	* testsuite/17_intro/headers/c++1998/all_no_exceptions.cc: New.
	* testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc: To...
	* testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
	...this.
	* testsuite/17_intro/headers/c++200x/all.cc: To...
	* testsuite/17_intro/headers/c++200x/stdc++.cc: ..this.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: To...
	* testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
	...this.
	* testsuite/17_intro/headers/c++200x/all_no_exceptions.cc: New.
	* testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc: New.

From-SVN: r150672
2009-08-12 00:56:12 +00:00
GCC Administrator 407bf46aa2 Daily bump.
From-SVN: r150671
2009-08-12 00:17:07 +00:00
Janus Weil 4561cbd0bd re PR fortran/41022 ([F03] procedure pointer components as actual arguments)
2009-08-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41022
	* trans-expr.c (gfc_conv_procedure_call): Handle procedure pointer
	components as actual arguments.

2009-08-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41022
	* gfortran.dg/proc_ptr_comp_14.f90: New.

From-SVN: r150665
2009-08-11 22:08:35 +02:00
Dodji Seketeli df4aca797b re PR debug/40990 (bad .debug_pubnames entry from gcj)
Fix PR debug/40990

	PR debug/40990
	* lang.c (put_decl_node): Outputs different level of information
	depending on the verbosity level.

From-SVN: r150659
2009-08-11 20:39:54 +02:00
Adam Nemet b2c9d70fd7 predicates.md (qi_mask_operand, [...]): New predicates.
* config/mips/predicates.md (qi_mask_operand, hi_mask_operand,
	si_mask_operand, and_load_operand, low_bitmask_operand,
	and_reg_operand, and_operand): New predicates.
	* config/mips/constraints.md (Yb, Yh, Yw, Yz): New constraints.
	* config/mips/mips.c (and_operands_ok): New function.
	* config/mips/mips-protos.h (and_operands_ok): Declare it.
	* config/mips/mips.md (move_type): Add ext_ins and logical.
	(type): Handle them.
	(and<mode>3): Use and_reg_operand as the second operand's
	predicate.
	(*and<mode>3): Add alternatives for lbu, lhu, lwu, <d>ext and
	shift_shift.  Remove commutative constraint modifier.
	(*and<mode>3_mips16): Add alternatives for lbu, lhu, lwu and
	shift_shift.
	(*clear_upper32_dext): Remove define_insn_and_split.
	(*clear_upper32): Turn this define_insn_and_split ...
	(splitter for ANDing register with 0xffff_ffff): .. into this.

testsuite/
	* gcc.target/mips/ext-5.c: New test.
	* gcc.target/mips/ext-6.c: New test.
	* gcc.target/mips/ext-7.c: New test.
	* gcc.target/mips/ext-8.c: New test.
	* gcc.target/mips/extend-2.c: New test.

From-SVN: r150657
2009-08-11 17:41:09 +00:00
Adam Nemet 842e098c5f combine.c (try_widen_shift_mode): Factor out code to check if an integer constant is a low-order bitmask from here ...
* combine.c (try_widen_shift_mode): Factor out code to check if an
        integer constant is a low-order bitmask from here ...
	* rtlanal.c (low_bitmask_len): ... to here.
	* rtl.h (low_bitmask_len): Declare.

From-SVN: r150656
2009-08-11 17:31:09 +00:00
Uros Bizjak c53c2591f6 re PR target/8603 ([Alpha] s?addl pattern doesn't work)
PR target/8603
	* config/alpha/alpha.md (addsi3): Remove expander.
	(addsi3): Rename from *addsi3_internal insn pattern.
	(subsi3): Remove expander.
	(subsi3): Rename from *subsi3_internal insn pattern.

From-SVN: r150654
2009-08-11 19:05:38 +02:00
Douglas B Rupp b0d0a8a7c9 alpha.c (alpha_init_builtins): Nullify FWRITE and FWRITE_UNLOCKED.
* config/alpha/alpha.c (alpha_init_builtins): Nullify FWRITE and
	FWRITE_UNLOCKED.

From-SVN: r150653
2009-08-11 16:41:41 +00:00
Vasiliy Fofanov 050d3f9d80 alpha.c (alpha_return_in_memory): On VMS...
* config/alpha/alpha.c (alpha_return_in_memory): On VMS, ensure
	that records that fit in 64 bits are returned by immediate value,
	as required by OpenVMS Calling Standard.
	(function_value): Adjust for above modification.
	(alpha_va_start) <TARGET_ABI_OPEN_VMS>: Use
	virtual_incoming_args_rtx as base object, not next_arg.
	* config/alpha/vms.h: (DEFAULT_PCC_STRUCT_RETURN): Define as 0.


Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>

From-SVN: r150652
2009-08-11 16:33:41 +00:00
Ulrich Weigand 2fa8205d74 reload.c (find_reloads_subreg_address): Check the original req_equiv_mem address to detect the case where an address is...
* reload.c (find_reloads_subreg_address): Check the original
	req_equiv_mem address to detect the case where an address is
	not valid in the outer mode.

From-SVN: r150649
2009-08-11 13:56:52 +00:00
Richard Guenther ac8f7e421b re PR bootstrap/40788 (ICE on sparc: tree check: expected class 'expression', have 'declaration' (var_decl) in gimplify_va_arg_expr, at builtins.c:5107)
2009-08-11  Richard Guenther  <rguenther@suse.de>
        
        PR bootstrap/40788
        * builtins.c (gimplify_va_arg_expr): Do not call 
        SET_EXPR_LOCATION.

From-SVN: r150648
2009-08-11 11:39:43 +00:00
Douglas B Rupp fddeba6da8 vms.h (OPTIMIZATION_OPTIONS): Remove
* config/alpha/vms.h (OPTIMIZATION_OPTIONS): Remove
	(OVERRIDE_OPTIONS): Incorporate removed OPTIMIZATION_OPTIONS.

From-SVN: r150647
2009-08-11 05:19:31 +00:00
Olivier Hainque 1d3499d85c alpha.c (alpha_sa_size): Force procedure type to PT_STACK when frame_pointer_needed on OpenVMS.
* config/alpha/alpha.c (alpha_sa_size): Force procedure type to
	PT_STACK when frame_pointer_needed on OpenVMS.
	(alpha_pv_save_size, alpha_using_fp): Remove.
	(alpha_vms_can_eliminate): New function. Support for CAN_ELIMINATE
	with proper processing for PT_NULL.
	(alpha_vms_initial_elimination_offset): New function. Support for
	INITIAL_ELIMINATION_OFFSET with proper processing for PT_NULL.
	(alpha_sa_size): Force procedure type to PT_STACK when
	frame_pointer_needed on OpenVMS.
	* config/alpha/alpha-protos.h (alpha_pv_save_size): Remove prototype.
	(alpha_using_fp): Likewise.
	(alpha_vms_can_eliminate): Add prototype.
	(alpha_vms_initial_elimination_offset): Likewise.
	* config/alpha/vms.h (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET):
	Call alpha_vms_can_eliminate and alpha_vms_initial_elimination_offset.


Co-Authored-By: Douglas B Rupp <rupp@gnat.com>

From-SVN: r150646
2009-08-11 05:14:48 +00:00
Eric Botcazou 18fd562170 alpha.c (common_object_handler): New function.
* config/alpha/alpha.c (common_object_handler): New function.
	(vms_attribute_table): Declare a single attribute "common_object".
	(vms_output_aligned_decl_common): New global function.
	(SECTION_VMS_OVERLAY): Delete.
	(SECTION_VMS_GLOBAL): Likewise.
	(SECTION_VMS_INITIALIZE): Likewise.
	(vms_asm_named_section): Remove support for above flags.
	(vms_section_type_flags): Delete.
	(TARGET_SECTION_TYPE_FLAGS): Likewise.
	* config/alpha/alpha-protos.h (vms_output_aligned_decl_common): New.
	* config/alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Delete.
	(ASM_OUTPUT_ALIGNED_DECL_COMMON): New macro.


Co-Authored-By: Douglas B Rupp <rupp@gnat.com>

From-SVN: r150645
2009-08-11 05:00:51 +00:00
Benjamin Kosnik 41ca42469f future: Move error handling bits outside macro guard.
2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/future: Move error handling bits outside macro guard.
	* src/future.cc: Adjust.

	* include/precompiled/stdc++.h: Add future.
	* doc/xml/manual/using.xml: Same.

From-SVN: r150642
2009-08-11 04:30:35 +00:00
Benjamin Kosnik a00e37691d hashtable.cc: Just definitions.
2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

	* src/hashtable.cc: Just definitions.
	* src/hashtable_c++0x.cc: Compile C++0x versions.
	* src/hash.cc: Same.
	* src/hash_c++0x.cc: Same.
	src/hash_tr1.cc: Compile TR1 versions.
	src/hashtable_tr1.cc: Same.

	* src/limits_c++0x.cc: Sync build error handling.

	* src/Makefile.am (sources): Change hash.cc to hash_tr1.cc,
	hashtable.cc to hashtable_tr1.cc.
	* src/Makefile.in: Regenerate.

From-SVN: r150641
2009-08-11 01:24:59 +00:00
Benjamin Kosnik 5302002658 functional: Doxygen markup.
2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1_impl/functional: Doxygen markup.

	* doc/html/*: Regenerate.

From-SVN: r150640
2009-08-11 00:29:21 +00:00
GCC Administrator 56cd0445fb Daily bump.
From-SVN: r150639
2009-08-11 00:16:39 +00:00
SUGIOKA Toshinobu 092f3f9795 re PR target/41015 (SH: miscompilation for sh4-linux)
PR target/41015
	* longlong.h [__sh__] (udiv_qrnnd): Add T register to clobber list.
	(sub_ddmmss): Likewise.

From-SVN: r150635
2009-08-10 20:57:35 +00:00
Jason Merrill e8f43da6f9 Implement DR 757...
Implement DR 757: It's OK for a decl to use a type without linkage
	so long as the decl is defined in the current translation unit.
	* decl2.c (no_linkage_decls): New vector.
	(mark_used): Add decls that use types with no linkage.
	(cp_write_global_declarations): Check that they are defined.
	(decl_defined_p, no_linkage_error): New fns.
	* cp-tree.h (DECL_NO_LINKAGE_CHECKED): New macro.
	(struct lang_decl_base): Add flag.
	* decl.c (grokfndecl): Don't check type linkage.
	(grokvardecl): If the type has no linkage, just make sure
	DECL_LANG_SPECIFIC is set.
	* pt.c (check_instantiated_arg): Don't check type linkage.
	* name-lookup.c (is_local_extern): New fn.
	* name-lookup.h: Declare it.

From-SVN: r150634
2009-08-10 16:47:55 -04:00
Benjamin Kosnik 8d1b99e26a future: Fixes for -fno-exceptions.
2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/future: Fixes for -fno-exceptions.
	* include/bits/functexcept.h: Same.
	* libsupc++/exception_ptr.h: Same.
	* src/pool_allocator.cc: Same.
	* src/future.cc: Same.
	* src/functexcept.cc: Same.
	* config/abi/pre/gnu.ver: New exports.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
	* testsuite/30_threads/promise/cons/copy_neg.cc: Same.

	* testsuite/23_containers/deque/operators/1.cc: Separate in two...
	* testsuite/23_containers/deque/operators/2.cc: New.

From-SVN: r150633
2009-08-10 18:24:47 +00:00
Andreas Tobler 3507653247 re PR bootstrap/41018 (bootstrap broken on FreeBSD powerpc)
2009-08-10  Andreas Tobler  <a.tobler@schweiz.org>

	PR bootstrap/41018
	* config/rs6000/freebsd.h: Define SVR4_ASM_SPEC. Adjust copyright
	year.

From-SVN: r150632
2009-08-10 20:23:57 +02:00
Manuel López-Ibáñez 812a5d4b7e dg.exp: Test also c-c++-common dir.
2009-08-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>

testsuite/
       * gcc.dg/dg.exp: Test also c-c++-common dir.
       * g++.dg/dg.exp: Likewise.
       * g++.dg/warn/Wconversion-real.C: Delete.
       * gcc.dg/Wconversion-real.c: Move to ...
       * c-c++-common/Wconversion-real.c: ... here.
       * lib/target-supports.exp
       (check_effective_target_c,check_effective_target_c++): New.

From-SVN: r150627
2009-08-10 17:10:50 +00:00
Ulrich Weigand 0159ec792b re PR middle-end/37053 (ICE in reload_cse_simplify_operands, at postreload.c:395)
PR target/37053
	* reload1.c (reload_as_needed): Use cancel_changes to completely
	undo a failed replacement attempt.

From-SVN: r150626
2009-08-10 15:34:09 +00:00
Neil Vachharajani ee26a76d35 * Moved ChangeLog entry to the correct ChangeLog
From-SVN: r150625
2009-08-10 14:57:24 +00:00
Laurent GUERBY 305418c899 make.adb: Handle multilib
2009-08-10  Laurent GUERBY  <laurent@guerby.net>

        * make.adb: Handle multilib

From-SVN: r150623
2009-08-10 10:52:37 +00:00
Daniel Kraft 94747289e9 re PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)
2009-08-10  Daniel Kraft  <d@domob.eu>

	PR fortran/37425
	* gfortran.dg/typebound_operator_1.f03: New test.
	* gfortran.dg/typebound_operator_2.f03: New test.

2009-08-10  Daniel Kraft  <d@domob.eu>

	PR fortran/37425
	* gfortran.h (struct gfc_namespace): New fields tb_uop_root and tb_op.
	(gfc_find_typebound_user_op): New routine.
	(gfc_find_typebound_intrinsic_op): Ditto.
	(gfc_check_operator_interface): Now public routine.
	* decl.c (gfc_match_generic): Match OPERATOR(X) or ASSIGNMENT(=).
	* interface.c (check_operator_interface): Made public, renamed to
	`gfc_check_operator_interface' accordingly and hand in the interface
	as gfc_symbol rather than gfc_interface so it is useful for type-bound
	operators, too.  Return boolean result.
	(gfc_check_interfaces): Adapt call to `check_operator_interface'.
	* symbol.c (gfc_get_namespace): Initialize new field `tb_op'.
	(gfc_free_namespace): Free `tb_uop_root'-based tree.
	(find_typebound_proc_uop): New helper function.
	(gfc_find_typebound_proc): Use it.
	(gfc_find_typebound_user_op): New method.
	(gfc_find_typebound_intrinsic_op): Ditto.
	* resolve.c (resolve_tb_generic_targets): New helper function.
	(resolve_typebound_generic): Use it.
	(resolve_typebound_intrinsic_op), (resolve_typebound_user_op): New.
	(resolve_typebound_procedures): Resolve operators, too.
	(check_uop_procedure): New, code from gfc_resolve_uops.
	(gfc_resolve_uops): Moved main code to new `check_uop_procedure'.

From-SVN: r150622
2009-08-10 12:51:46 +02:00
Richard Guenther 4f4e722eb6 re PR middle-end/41006 (verify_stmts failed: error: non-trivial conversion at assignment)
2009-08-10  Richard Guenther  <rguenther@suse.de>

	PR middle-end/41006
	* tree-ssa.c (useless_type_conversion_p_1): Fold into ...
	(useless_type_conversion_p): ... here.  Require pointer targets
	to be compatible.

	* gcc.c-torture/compile/pr41006-1.c: New testcase.
	* gcc.c-torture/compile/pr41006-2.c: Likewise.

From-SVN: r150621
2009-08-10 09:22:47 +00:00