108621 Commits

Author SHA1 Message Date
Jan Hubicka
5d0878e70d i386.h (ix86_tune_indices): Add X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
* i386.h (ix86_tune_indices): Add X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
	(TARGET_SOFTWARE_PREFETCHING_BENEFICIAL): New macor.
	* i386.c (initial_ix86_tune_features): Add X86_SOFTARE_PREFETCHING_BENEFICIAL.
	(software_prefetching_beneficial_p): Remove predicate.
	(ix86_option_override_internal): Use new macro.

From-SVN: r173533
2011-05-07 14:39:40 +00:00
Jan Hubicka
58696ce5e4 * ipa-inline.c (update_callee_keys): Don't reset node growth cache.
From-SVN: r173532
2011-05-07 14:30:07 +00:00
François Dumont
f5886803ed macro.h (_GLIBCXX_DEBUG_VERIFY_AT): New.
2011-05-07  François Dumont  <francois.cppdevs@free.fr>

	* include/debug/macro.h (_GLIBCXX_DEBUG_VERIFY_AT): New.
	(_GLICXX_DEBUG_VERIFY): Use latter.
	* include/ext/pb_ds/detail/resize_policy/
	hash_load_check_resize_trigger_imp.hpp: Emit assertion on the line
	containing the original assert call.
	* include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
	find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
	constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
	find_fn_imps.hpp, insert_store_hash_fn_imps.hpp, debug_fn_imps.hpp,
	debug_no_store_hash_fn_imps.hpp, cc_ht_map_.hpp, resize_fn_imps.hpp,
	constructor_destructor_fn_imps.hpp, debug_store_hash_fn_imps.hpp,
	erase_no_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp,
	insert_join_fn_imps.hpp, pat_trie_/head.hpp, debug_fn_imps.hpp,
	constructors_destructor_fn_imps.hpp, pat_trie_.hpp, split_fn_imps.hpp,
	leaf.hpp, erase_fn_imps.hpp, node_base.hpp, internal_node.hpp:
	Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp,
	r_erase_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
	debug_fn_imps.hpp, rotate_fn_imps.hpp, erase_fn_imps.hpp,
	bin_search_tree_.hpp, insert_fn_imps.hpp, split_join_fn_imps.hpp:
	Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
	find_fn_imps.hpp, gp_ht_map_.hpp, insert_store_hash_fn_imps.hpp,
	debug_fn_imps.hpp, erase_fn_imps.hpp, debug_no_store_hash_fn_imps.hpp,
	resize_fn_imps.hpp, constructor_destructor_fn_imps.hpp,
	debug_store_hash_fn_imps.hpp, erase_no_store_hash_fn_imps.hpp:
	Likewise.
	* include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp,
	constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
	erase_fn_imps.hpp, insert_fn_imps.hpp, binary_heap_.hpp,
	resize_policy.hpp, split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp,
	find_fn_imps.hpp, insert_fn_imps.hpp,
	constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
	pairing_heap_.hpp, split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_/
	constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
	binomial_heap_.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	erase_fn_imps.hpp, left_child_next_sibling_heap_.hpp,
	constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp,
	find_fn_imps.hpp, thin_heap_.hpp, insert_fn_imps.hpp,
	constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp,
	ov_tree_map_.hpp, constructors_destructor_fn_imps.hpp,
	debug_fn_imps.hpp, split_join_fn_imps.hpp, info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp,
	find_fn_imps.hpp, insert_fn_imps.hpp,
	constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
	splay_fn_imps.hpp, split_join_fn_imps.hpp, splay_tree_.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp,
	find_fn_imps.hpp, lu_map_.hpp, constructor_destructor_fn_imps.hpp,
	insert_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp,
	rc_binomial_heap_.hpp, insert_fn_imps.hpp,
	constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp, rc.hpp,
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp,
	insert_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
	debug_fn_imps.hpp, rb_tree_.hpp, split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/hash_policy.hpp: Likewise.

From-SVN: r173529
2011-05-07 13:45:24 +00:00
Tobias Burnus
6f4d39bb3f re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        PR fortran/48919
        * trans.h: Move gfc_init_coarray_decl prototype ...
        * gfortran.h: ... to here.
        * parse.c (translate_all_program_units): Call
        * gfc_init_coarray_decl.
        (gfc_parse_file): Update translate_all_program_units call.
        * trans-decl.c (gfc_init_coarray_decl): Fix variable
        * declaration,
        new argument whether DECL_EXTERNAL should be used.
        (create_main_function): Update gfc_init_coarray_decl call.
        * trans-intrinsic.c (trans_this_image, trans_image_index,
        conv_intrinsic_cobound): Ditto.

From-SVN: r173528
2011-05-07 07:38:08 +02:00
GCC Administrator
9142588a73 Daily bump.
From-SVN: r173525
2011-05-07 00:19:13 +00:00
Ian Lance Taylor
5b735706d7 Use backend types for all type conversions.
From-SVN: r173520
2011-05-07 00:12:32 +00:00
Jan Hubicka
c47d00347d cgraph.c (cgraph_add_thunk): Create real function node instead of alias node...
* cgraph.c (cgraph_add_thunk): Create real function node instead
	of alias node; finalize it and mark needed/reachale; arrange visibility
	to be right and add it into the corresponding same comdat group list.
	(dump_cgraph_node): Dump thunks.
	* cgraph.h (cgraph_first_defined_function, cgraph_next_defined_function,
	cgraph_function_with_gimple_body_p, cgraph_first_function_with_gimple_body,
	cgraph_next_function_with_gimple_body): New functions.
	(FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, FOR_EACH_DEFINED_FUNCTION):
	New macros.
	* ipa-cp.c (ipcp_need_redirect_p): Thunks can't be redirected.
	(ipcp_generate_summary): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
	* cgraphunit.c (cgraph_finalize_function): Only look into possible
	devirtualization when optimizing.
	(verify_cgraph_node): Verify thunks.
	(cgraph_analyze_function): Analyze thunks.
	(cgraph_mark_functions_to_output): Output thunks only in combination
	with function they are assigned to.
	(assemble_thunk): Turn thunk into non-thunk; don't try to turn
	alias into normal node.
	(assemble_thunks): New functoin.
	(cgraph_expand_function): Use it.
	* lto-cgraph.c (lto_output_node): Stream thunks.
	(input_overwrite_node): Stream in thunks.
	* ipa-pure-const.c (analyze_function): Thunks do nothing interesting.
	* lto-streamer-out.c (lto_output): Do not try to output thunk's body.
	* ipa-inline.c (inline_small_functions): Use FOR_EACH_DEFINED_FUNCTION.
	* ipa-inline-analysis.c (compute_inline_parameters): "Analyze" thunks.
	(inline_analyze_function): Do not care about thunk jump functions.
	(inline_generate_summary):Use FOR_EACH_DEFINED_FUNCTION.
	* ipa-prop.c (ipa_prop_write_jump_functions): Use cgraph_function_with_gimple_body_p.
	* passes.c (do_per_function_toporder): Use cgraph_function_with_gimple_body_p.
	(execute_one_pass);Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
	(ipa_write_summaries): Use cgraph_function_with_gimple_body_p.
	(function_called_by_processed_nodes_p): Likewise.
	* lto.c (lto_materialize_function): Use cgraph_function_with_gimple_body_p.
	(add_cgraph_node_to_partition): Do not re-add items to partition; handle thunks.
	(add_varpool_node_to_partition): Do not re-add items to partition.

From-SVN: r173517
2011-05-06 23:00:49 +00:00
Jason Merrill
e68dde1f40 decl.c (stabilize_save_expr_r): Set *walk_subtrees as appropriate.
* decl.c (stabilize_save_expr_r): Set *walk_subtrees as
	appropriate.

From-SVN: r173512
2011-05-06 17:57:56 -04:00
Jason Merrill
9e33e3210a re PR c++/48909 ([C++0x] ICE in cxx_eval_conditional_expression, at cp/semantics.c:6213)
PR c++/48909
	* semantics.c (cxx_eval_conditional_expression): Check
	integer_zerop/onep instead.

From-SVN: r173511
2011-05-06 17:57:49 -04:00
Jason Merrill
c80e3e0267 re PR c++/48911 ([C++0x] Error for valid array subscript)
PR c++/48911
	* semantics.c (cxx_eval_array_reference): Handle implicit
	initializers.

From-SVN: r173510
2011-05-06 17:57:41 -04:00
Joseph Myers
d8f426ecc9 rs6000.opt (rs6000_ieeequad, [...]): Remove TargetVariable entries.
* config/rs6000/rs6000.opt (rs6000_ieeequad, rs6000_altivec_abi,
	rs6000_spe_abi, rs6000_darwin64_abi): Remove TargetVariable
	entries.
	(mabi=): Replace with separate entries for mabi=altivec,
	mabi=no-altivec, mabi=spe, mabi=no-spe, mabi=d64, mabi=d32,
	mabi=ieeelongdouble and mabi=ibmlongdouble.
	* config/rs6000/rs6000.c (rs6000_option_override_internal): Move
	check for -mabi=spe without SPE ABI support here.
	(rs6000_handle_option): Replace OPT_mabi_ handling with
	OPT_mabi_altivec and OPT_mabi_spe handling.

From-SVN: r173509
2011-05-06 21:34:13 +01:00
Ian Lance Taylor
4e7e7a49b7 More uses of backend interface for types.
From-SVN: r173507
2011-05-06 20:06:29 +00:00
Tobias Burnus
c81e79b590 re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * trans-array.c (gfc_walk_variable_expr): Continue walking
        for scalar coarrays.
        * trans-intrinsic.c (convert_element_to_coarray_ref): New
        * function.
        (trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it.
        (trans_this_image): Fix algorithm.
        * trans-types.c (gfc_get_element_type,
        * gfc_get_array_descriptor_base,
        gfc_sym_type): Handle scalar coarrays.

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray/this_image_2.f90: New.

From-SVN: r173506
2011-05-06 20:39:08 +02:00
Tobias Burnus
cc9ae24cbe re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * caf/libcaf.h: Cleanup headers.
        (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub.
        (caf_register_t): New enum.
        (_gfortran_caf_register, _gfortran_caf_deregister): New prototype.
        * caf/single.c (_gfortran_caf_critical,
        _gfortran_caf_end_critical): Remove.
        (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
        * caf/mpi.c (_gfortran_caf_critical,
        _gfortran_caf_end_critical): Remove.
        (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
        (caf_world_window): Remove global variable.
        (_gfortran_caf_init): Fix off-by-one error of this_image.

From-SVN: r173505
2011-05-06 20:35:00 +02:00
Tobias Burnus
7b040949f6 Really commit:
2011-05-06  Tobias Burnus  <burnus@net-b.de>
    
        PR fortran/48858
        PR fortran/48820
        * gfortran.dg/bind_c_usage_24.f90: New.
        * gfortran.dg/bind_c_usage_24_c.c: New.

From-SVN: r173503
2011-05-06 20:33:31 +02:00
Ian Lance Taylor
1f94e0c6f7 Use backend interface for string types.
From-SVN: r173502
2011-05-06 18:30:11 +00:00
Tobias Burnus
2e8d9212da re PR fortran/48858 (Incorrect error for same binding label on two generic interface specifics)
2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48858
        PR fortran/48820
        * lang.opt (std=f2008tr): New.
        * libgfortran.h (GFC_STD_F2008_TR): New macro constant.
        * decl.c (verify_c_interop_param): Allow OPTIONAL in BIND(C)
        procedures for -std=f2008tr/gnu/legacy.

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48858
        PR fortran/48820
        * gfortran.dg/bind_c_usage_22.f90: New.
        * gfortran.dg/bind_c_usage_23.f90: New.
        * gfortran.dg/bind_c_usage_24.f90: New.
        * gfortran.dg/bind_c_usage_24_c.c: New.

From-SVN: r173500
2011-05-06 20:12:25 +02:00
Cary Coutant
80bde45b08 dwarf2out.c (contains_subprogram_definition): New function.
* dwarf2out.c (contains_subprogram_definition): New function.
	(should_move_die_to_comdat): Call it.

From-SVN: r173497
2011-05-06 10:34:01 -07:00
Nathan Froyd
7e1352fe55 introduce {class,type}_of_this_parm functions
introduce {class,type}_of_this_parm functions
	* cp-tree.h (type_of_this_parm, class_of_this_parm): New functions.
	* call.c (standard_conversion): Call class_of_this_parm.
	* cxx-pretty-print.c (pp_cxx_implicit_parameter_type): Likewise.
	(pp_cxx_direct_abstract_declarator): Likewise.
	* decl2.c (change_return_type): Likewise.
	(cp_reconstruct_complex_type): Likewise.
	* error.c (dump_type_suffix, dump_function_decl): Likewise.
	* mangle.c (write_function_type): Likewise.
	* pt.c (unify): Likewise.
	* typeck.c (merge_types, type_memfn_quals): Likewise.
	* decl.c (build_this_parm): Call type_of_this_parm.

From-SVN: r173496
2011-05-06 17:03:08 +00:00
Paolo Carlini
54cc9874fd named_equivalence.cc: Fix.
2011-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/22_locale/messages_byname/named_equivalence.cc: Fix.

From-SVN: r173494
2011-05-06 15:55:39 +00:00
Jeff Law
a91926b9ff tree-ssa-threadupdate.c (create_block_for_threading): Do not call remove_ctrl_stmt_and_useless_edges.
* tree-ssa-threadupdate.c (create_block_for_threading): Do not call
	remove_ctrl_stmt_and_useless_edges.
	(create_duplicates): Call remove_ctrl_stmt_and_useless_edges.
	(fixup_template_block, thread_single_edge): Likewise.
	(mark_threaded_blocks): Use THREAD_TARGET.

From-SVN: r173492
2011-05-06 09:13:35 -06:00
Alan Modra
1fc1b66d4a re PR target/48900 (unnecessary duplicate __tls_get_addr calls)
PR target/48900
	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
	const0_rtx as the arg to the dummy __tls_get_addr libcall.

From-SVN: r173488
2011-05-06 23:51:16 +09:30
Uros Bizjak
e194de64ac i386.md (*movdf_internal_nointeger): Apply "*" constraint modifier to "r".
* config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
	constraint modifier to "r".

From-SVN: r173485
2011-05-06 13:32:53 +02:00
Joseph Myers
d740dc9ea3 rs6000.c (rs6000_handle_option): Don't handle and fall through for OPT_mcmodel_.
* config/rs6000/rs6000.c (rs6000_handle_option): Don't handle and
	fall through for OPT_mcmodel_.

From-SVN: r173484
2011-05-06 12:19:45 +01:00
Andreas Krebbel
cab78b151c s390.c (s390_asm_trampoline_template): Comment instruction sizes.
2011-05-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_asm_trampoline_template): Comment
	instruction sizes.
	(s390_trampoline_init): Replace UNITS_PER_WORD with
	UNITS_PER_LONG.

From-SVN: r173483
2011-05-06 11:12:27 +00:00
Ramana Radhakrishnan
ee6824ae01 re PR target/47930 (-marm is undocumented; driver accepts -mno-thumb)
2011-05-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

      PR target/47930
      * config/arm/arm.opt (marm): Document it.
      (mthumb): Reject negative variant.

From-SVN: r173481
2011-05-06 10:56:32 +00:00
Jakub Jelinek
e7385332a0 re PR fortran/48894 (generic omp_get_ancestor_thread_num(l(i)) produces incorrect output)
PR fortran/48894
	* fortran.c: Include limits.h.
	(TO_INT): Define.
	(omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
	*set.
	(omp_set_num_threads_8_, omp_set_schedule_8_,
	omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
	omp_get_team_size_8_): Use TO_INT macro.
	* testsuite/libgomp.fortran/pr48894.f90: New test.

From-SVN: r173476
2011-05-06 12:11:07 +02:00
Uros Bizjak
9ef5846430 re PR target/48898 (i386/netware.c:i386_nlm_maybe_mangle_decl_assembler_name: ‘cvt’ undeclared)
PR target/48898
	* config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
	Fix typo in "ccvt" variable name.

From-SVN: r173475
2011-05-06 12:07:35 +02:00
Dodji Seketeli
73452ce79a re PR c++/48838 (valid template code does not compile)
Fix PR c++/48838

gcc/cp

	PR c++/48838
	* cp-tree.h (non_static_member_function_p): Declare new function.
	* tree.c (non_static_member_function_p): Define it.
	* semantics.c (finish_call_expr): Use it.

gcc/testsuite

	PR c++/48838
	* g++.dg/template/member9.C: New test case.

From-SVN: r173473
2011-05-06 10:34:53 +02:00
Tristan Gingold
155b61760d re PR target/48895 (config/vms/vms-ar.c:main: variable ‘cwd’ set but not used)
2011-05-06  Tristan Gingold  <gingold@adacore.com>

	PR target/48895
	* config/vms/vms-ar.c (main): Remove cwd variable.

From-SVN: r173471
2011-05-06 07:47:27 +00:00
Jakub Jelinek
3becc47be6 re PR debug/48902 (var-tracking.c fails to compile for PCC_STATIC_STRUCT_RETURN)
PR debug/48902
	* var-tracking.c (prepare_call_arguments): Move else before #endif.

From-SVN: r173470
2011-05-06 09:23:03 +02:00
Ian Lance Taylor
da9e0b98ac Use backend interface for interface types.
From-SVN: r173469
2011-05-06 06:34:27 +00:00
Nathan Froyd
3d528853ba generalize build_case_label to the rest of the compiler
generalize build_case_label to the rest of the compiler
gcc/ada/
	* gcc-interface/trans.c (Case_Statement_to_gnu): Call
	build_case_label.

gcc/
	* except.c (sjlj_emit_dispatch_table): Call build_case_label.
	* gimplify.c (gimplify_switch_expr): Likewise.
	* omp-low.c (expand_omp_sections): Likewise.
	* tree-eh.c (lower_try_finally_switch): Likewise.
	(lower_eh_dispatch): Likewise.
	* tree.h (build_case_label): Declare.
	* tree.c (build_case_label): Define.

gcc/c-family/
	* c-common.c (c_add_case_label): Omit the loc argument to
	build_case_label.
	* c-common.h (build_case_label): Remove.
	* c-semantics.c (build_case_label): Remove.

gcc/cp/
	* decl.c (finish_case_label): Omit the loc argument to
	build_case_label.

gcc/fortran/
	* trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label.
	* trans-io.c (add_case): Likewise.
	* trans-stmt.c (gfc_trans_integer_select): Likewise.
	(gfc_trans_character_select): Likewise.

gcc/go/
	* go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.

gcc/java/
	* expr.c (expand_java_switch): Call build_case_label.
	(expand_java_add_case): Likewise.

From-SVN: r173467
2011-05-06 03:47:57 +00:00
Nathan Froyd
d7d058c58a don't use TYPE_ARG_TYPES in the Ada frontend
don't use TYPE_ARG_TYPES in the Ada frontend
	* gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
	instead of accessing TYPE_ARG_TYPES directly.
	* gcc-interface/utils.c (handle_nonnull_attribute): Likewise.

From-SVN: r173466
2011-05-06 01:39:32 +00:00
Nathan Froyd
6174da1b28 don't use build_function_type in the ObjC/C++ frontends
don't use build_function_type in the ObjC/C++ frontends
	* objc-runtime-shared-support.h (get_arg_type_list): Delete.
	(build_function_type_for_method): Declare.
	* objc-runtime-hooks.h (struct _objc_runtime_hooks_r): Change
	type of get_arg_type_base_list field.
	* objc-act.h (OBJC_VOID_AT_END): Delete.
	* objc-act.c (get_arg_type_list): Delete.
	(build_function_type_for_method): New function.
	(objc_decl_method_attributes): Call build_function_type_for_method.
	(really_start_method): Likewise.
	* objc-gnu-runtime-abi-01.c
	(gnu_runtime_abi_01_get_type_arg_list_base): Change prototype and
	adjust function accordingly.  Update header comment.
	(build_objc_method_call): Call build_function_type_for_method.
	* objc-next-runtime-abi-01.c
	(next_runtime_abi_01_get_type_arg_list_base): Change prototype and
	adjust function accordingly.  Update header comment.
	(build_objc_method_call): Call build_function_type_for_method.
	* objc-next-runtime-abi-02.c
	(next_runtime_abi_02_get_type_arg_list_base): Change prototype and
	adjust function accordingly.  Update header comment.
	(objc_copy_to_temp_side_effect_params): Take fntype instead of a
	typelist.  Use function_args_iterator for traversing fntype.
	(build_v2_build_objc_method_call): Adjust call to it.
	Call build_function_type_for_method

From-SVN: r173465
2011-05-06 01:37:00 +00:00
GCC Administrator
9eb21cfca6 Daily bump.
From-SVN: r173464
2011-05-06 00:19:23 +00:00
Jason Merrill
deb5046baa re PR c++/40975 (ICE in copy_tree_r on array new)
PR c++/40975
	* tree-inline.c (copy_tree_r): Use copy_statement_list.
	(copy_statement_list): Don't recurse.
	* stor-layout.c (copy_self_referential_tree_r): Don't allow
	STATEMENT_LIST.

From-SVN: r173451
2011-05-05 16:50:57 -04:00
Jason Merrill
31e292c7a3 cp-tree.h (REFERENCE_REF_P): Just check the type.
* cp-tree.h (REFERENCE_REF_P): Just check the type.
	* cvt.c (convert_from_reference): Adjust.
	* pt.c (build_non_dependent_expr): Adjust.
	* semantics.c (finish_offsetof): Adjust.
	* tree.c (lvalue_kind): Use it.

From-SVN: r173449
2011-05-05 16:09:18 -04:00
Joseph Myers
013c041184 rs6000.c (rs6000_handle_option): Don't fall through from -mfpu= handling.
* config/rs6000/rs6000.c (rs6000_handle_option): Don't fall
	through from -mfpu= handling.
	* config/rs6000/rs6000.opt (mfpu=): Use Var and Init.

From-SVN: r173448
2011-05-05 20:35:12 +01:00
Bernd Schmidt
a0905f8bf4 dwarf2out.c (dwarf2out_frame_debug_expr): Handle POST_MODIFY.
* dwarf2out.c (dwarf2out_frame_debug_expr) [rule 10]: Handle
	POST_MODIFY.

From-SVN: r173446
2011-05-05 16:49:11 +00:00
Eric Botcazou
805e60a086 re PR ada/48844 (ICE on assignment of aggregate with discriminated record type)
PR ada/48844
	* gcc-interface/gigi.h (get_variant_part): Declare.
	* gcc-interface/decl.c (get_variant_part): Make global.
	* gcc-interface/utils2.c (find_common_type): Do not return T1 if the
	types have the same constant size, are record types and T1 has a
	variant part while T2 doesn't.

From-SVN: r173442
2011-05-05 16:22:16 +00:00
Steve Ellcey
4eec64ff1d Fix comment and update config/pa/pa.h (left off previous commit)
From-SVN: r173438
2011-05-05 15:53:05 +00:00
Steve Ellcey
fc4538e41e config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options for 11.31.
2011-05-05  Steve Ellcey  <sje@cup.hp.com>

	* config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options
	for 11.31.
	(hppa[12]*-*-hpux11*): Ditto.
	(ia64*-*-hpux*): Add ia64/hpux-unix2003.h to tm_file.
	* config/ia64/hpux-unix2003.h: New.
	* config/pa/pa-hpux1131.opt: New.
	* config/pa/pa-hpux1131.h: New.
	* config/pa/pa64-hpux.h (STARTFILE_SPEC): Use unix2003.o if requested.
	* config/pa/pa-hpux.opt (flag_pa_unix): Check TARGET_HPUX_11_31 value.
	config/pa/pa.h (TARGET_HPUX_11_31): Provide default (0) value.

From-SVN: r173437
2011-05-05 15:49:28 +00:00
Jakub Jelinek
1e30c57853 re PR debug/48853 (Wrong DWARF codegen when Pmode != ptr_mode)
PR debug/48853
	* dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Pass mem_mode
	instead of mode as 3rd argument to recursive call.
	(mem_loc_descriptor) <case REG>: If POINTERS_EXTEND_UNSIGNED, don't
	emit DW_OP_GNU_regval_type if mode is Pmode and mem_mode is not
	VOIDmode.
	(mem_loc_descriptor) <case SYMBOL_REF>: If POINTERS_EXTEND_UNSIGNED,
	don't give up if mode is Pmode and mem_mode is not VOIDmode.
	(mem_loc_descriptor) <case CONST_INT>: If POINTERS_EXTEND_UNSIGNED,
	use int_loc_descriptor if mode is Pmode and mem_mode is not VOIDmode.

From-SVN: r173436
2011-05-05 17:48:18 +02:00
Julian Brown
d19eb62062 neon.md (vec_set<mode>_internal): Fix misplaced parenthesis in D-register case.
gcc/
	* config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
	parenthesis in D-register case.

	gcc/testsuite/
	* gcc.target/arm/neon-vset_lanes8.c: New test.

From-SVN: r173435
2011-05-05 15:41:25 +00:00
Joseph Myers
c860fe8c6c opt-functions.awk (var_type_struct): Handle Enum options.
* opt-functions.awk (var_type_struct): Handle Enum options.
	* optc-gen.awk: Don't check range of variables of character type.
	* config/rs6000/rs6000.c (rs6000_sched_insert_nops_str,
	rs6000_sched_costly_dep_str, rs6000_recip_name, rs6000_abi_name,
	rs6000_sdata_name, rs6000_explicit_options): Remove.
	(rs6000_option_override_internal): Check for -malign-power here.
	Use global_options_set instead of rs6000_explicit_options.
	(rs6000_parse_fpu_option): Remove.
	(rs6000_handle_option): Access variables via opts and opts_set
	pointers.  Use error_at and warning_at.  Add fall-through
	comments.  Don't handle OPT_mcmodel_, OPT_maix_struct_return,
	OPT_msvr4_struct_return, OPT_mvrsave, OPT_mspe, OPT_mcall_,
	OPT_msdata_, OPT_mtls_size_, OPT_mtraceback_, OPT_mfloat_gprs_,
	OPT_msched_costly_dep_, OPT_malign_ or OPT_mrecip_ explicitly
	here.  Don't use rs6000_parse_fpu_option.
	* config/rs6000/rs6000.h (fpu_type): Remove declaration.
	* config/rs6000/rs6000.opt (rs6000_long_double_type_size,
	rs6000_spe, rs6000_float_gprs): Remove TargetVariable entries.
	(mrecip=): Use Var.
	(mspe): Use Var and Save.
	(mtraceback=): Use Enum and Var.
	(rs6000_traceback_type): New Enum and EnumValue entries.
	(mfloat-gprs=): Use Enum, Var and Save.
	(rs6000_float_gprs): New Enum and EnumValue entries.
	(mlong-double-): use Var and Save.
	(msched-costly-dep=, minsert-sched-nops=): Use Var.
	(malign-): Use Enum and Var.
	(rs6000_alignment_flags): New Enum and EnumValue entries.
	(mfpu=): Use Enum.
	(fpu_type_t): New Enum and EnumValue entries.
	* config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	(RS6000_DEFAULT_LONG_DOUBLE_SIZE): Remove commented-out
	definition.
	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/linux64.opt (mcmodel=): Use Enum and Var.
	(rs6000_cmodel): New Enum and EnumValue entries.
	* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
	global_options_set instead of rs6000_explicit_options.
	* config/rs6000/sysv4.opt (mcall-, msdata=): Use Var.
	(mtls-size=): Use Enum and Var.
	(rs6000_tls_size): New Enum and EnumValue entries.

From-SVN: r173434
2011-05-05 15:59:55 +01:00
Jason Merrill
e3edeff4e1 re PR c++/48873 ([C++0x][noexcept] Placement-new problem with deleted destructors)
PR c++/48873
	* tree.c (stabilize_expr): Don't make gratuitous copies of classes.

From-SVN: r173433
2011-05-05 10:53:35 -04:00
Rainer Orth
532388e237 fmt_g0_6.f08: Use dg-options "-ffloat-store".
* gfortran.dg/fmt_g0_6.f08: Use dg-options "-ffloat-store".
	Fix typo.

From-SVN: r173431
2011-05-05 13:55:44 +00:00
Joseph Myers
6a789d5eae * configure.ac (alpha*-dec-osf*, i[[3456789]]86-*-rdos*,
sh*-*-pe|mips*-*-pe|arm-wince-pe, sparc-*-sunos4*, *-*-aix*,
	*-*-beos*, *-*-chorusos, *-*-dragonfly*, *-*-freebsd*, *-*-linux*
	| *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu, *-*-lynxos*,
	*-*-mingw*, *-*-netbsd*, *-*-netware*, *-*-tpf*, *-*-uclinux*,
	*-*-vxworks*): Disable newlib and libgloss in separate case
	statement.
	(i[[3456789]]86-*-linux*): Move logic allowing newlib to be built
	to separate case statement.
	(*-*-chorusos, *-*-dragonfly*, *-*-freebsd*, *-*-netbsd*,
	*-*-netware*, *-*-tpf*, *-*-uclinux*, *-*-vxworks*,
	alpha*-dec-osf*, alpha*-*-linux*, am33_2.0-*-linux*, sh-*-linux*,
	sh*-*-pe|mips*-*-pe|*arm-wince-pe, arm-*-coff, arm-*-elf* |
	arm*-*-eabi*, arm*-*-linux-gnueabi, arm*-*-symbianelf*, avr-*-*,
	bfin-*-*, cris-*-* | crisv32-*-*, frv-*-*, i[[3456789]]86-*-coff |
	i[[3456789]]86-*-elf, i[[3456789]]86-w64-mingw*,
	i[[3456789]]86-*-mingw*, x86_64-*-mingw*,
	i[[3456789]]86-*-interix*, i[[3456789]]86-*-beos*,
	i[[3456789]]86-*-rdos*, m32r-*-*,
	m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*, m68k-*-elf*, m68*-*-*
	| fido-*-*, powerpc-*-aix*, powerpc-*-beos*, powerpc-*-eabi,
	powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems*,
	rs6000-*-lynxos*, rs6000-*-aix*, mips*-*-linux*, sparclet-*-aout*
	| sparc86x-*-*, sparc-*-elf*, sparc64-*-elf*, sparclite-*-*,
	sparc-*-sunos4*, sparc-*-solaris* | sparc64-*-solaris* |
	sparcv9-*-solaris*, *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu |
	*-*-kopensolaris*-gnu, *-*-lynxos*, *-*-*): Don't disable newlib
	and libgloss in main case over targets.  Remove most empty cases
	in main case over targets.
	* configure: Regenerate.

From-SVN: r173430
2011-05-05 13:38:18 +01:00
Michael Matz
0691dde9e6 elf.h (ENDFILE_SPEC): Add Ofast.
* config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
	* config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
	* config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
	* config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
	* config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
	* config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
	* config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
	* config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
	* config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
	* config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
	* config/i386/gnu-user.h (ENDFILE_SPEC): Add Ofast.
	* config/i386/gnu-user64.h (ENDFILE_SPEC): Add Ofast.
	* config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
	* config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
	* config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
	* config/mips/linux.h (ENDFILE_SPEC): Add Ofast.

From-SVN: r173429
2011-05-05 12:32:50 +00:00