Jan Hubicka [Sat, 7 May 2011 14:39:40 +0000 (16:39 +0200)]
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
Jan Hubicka [Sat, 7 May 2011 14:30:07 +0000 (16:30 +0200)]
* ipa-inline.c (update_callee_keys): Don't reset node growth cache.
From-SVN: r173532
François Dumont [Sat, 7 May 2011 13:45:24 +0000 (15:45 +0200)]
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
Tobias Burnus [Sat, 7 May 2011 05:38:08 +0000 (07:38 +0200)]
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
GCC Administrator [Sat, 7 May 2011 00:19:13 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173525
Ian Lance Taylor [Sat, 7 May 2011 00:12:32 +0000 (00:12 +0000)]
Use backend types for all type conversions.
From-SVN: r173520
Jan Hubicka [Fri, 6 May 2011 23:00:49 +0000 (01:00 +0200)]
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
Jason Merrill [Fri, 6 May 2011 21:57:56 +0000 (17:57 -0400)]
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
Jason Merrill [Fri, 6 May 2011 21:57:49 +0000 (17:57 -0400)]
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
Jason Merrill [Fri, 6 May 2011 21:57:41 +0000 (17:57 -0400)]
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
Joseph Myers [Fri, 6 May 2011 20:34:13 +0000 (21:34 +0100)]
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
Ian Lance Taylor [Fri, 6 May 2011 20:06:29 +0000 (20:06 +0000)]
More uses of backend interface for types.
From-SVN: r173507
Tobias Burnus [Fri, 6 May 2011 18:39:08 +0000 (20:39 +0200)]
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
Tobias Burnus [Fri, 6 May 2011 18:35:00 +0000 (20:35 +0200)]
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
Tobias Burnus [Fri, 6 May 2011 18:33:31 +0000 (20:33 +0200)]
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
Ian Lance Taylor [Fri, 6 May 2011 18:30:11 +0000 (18:30 +0000)]
Use backend interface for string types.
From-SVN: r173502
Tobias Burnus [Fri, 6 May 2011 18:12:25 +0000 (20:12 +0200)]
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
Cary Coutant [Fri, 6 May 2011 17:34:01 +0000 (17:34 +0000)]
dwarf2out.c (contains_subprogram_definition): New function.
* dwarf2out.c (contains_subprogram_definition): New function.
(should_move_die_to_comdat): Call it.
From-SVN: r173497
Nathan Froyd [Fri, 6 May 2011 17:03:08 +0000 (17:03 +0000)]
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
Paolo Carlini [Fri, 6 May 2011 15:55:39 +0000 (15:55 +0000)]
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
Jeff Law [Fri, 6 May 2011 15:13:35 +0000 (09:13 -0600)]
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
Alan Modra [Fri, 6 May 2011 14:21:16 +0000 (23:51 +0930)]
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
Uros Bizjak [Fri, 6 May 2011 11:32:53 +0000 (13:32 +0200)]
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
Joseph Myers [Fri, 6 May 2011 11:19:45 +0000 (12:19 +0100)]
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
Andreas Krebbel [Fri, 6 May 2011 11:12:27 +0000 (11:12 +0000)]
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
Ramana Radhakrishnan [Fri, 6 May 2011 10:56:32 +0000 (10:56 +0000)]
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
Jakub Jelinek [Fri, 6 May 2011 10:11:07 +0000 (12:11 +0200)]
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
Uros Bizjak [Fri, 6 May 2011 10:07:35 +0000 (12:07 +0200)]
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
Dodji Seketeli [Fri, 6 May 2011 08:34:53 +0000 (08:34 +0000)]
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
Tristan Gingold [Fri, 6 May 2011 07:47:27 +0000 (07:47 +0000)]
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
Jakub Jelinek [Fri, 6 May 2011 07:23:03 +0000 (09:23 +0200)]
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
Ian Lance Taylor [Fri, 6 May 2011 06:34:27 +0000 (06:34 +0000)]
Use backend interface for interface types.
From-SVN: r173469
Nathan Froyd [Fri, 6 May 2011 03:47:57 +0000 (03:47 +0000)]
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
Nathan Froyd [Fri, 6 May 2011 01:39:32 +0000 (01:39 +0000)]
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
Nathan Froyd [Fri, 6 May 2011 01:37:00 +0000 (01:37 +0000)]
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
GCC Administrator [Fri, 6 May 2011 00:19:23 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173464
Jason Merrill [Thu, 5 May 2011 20:50:57 +0000 (16:50 -0400)]
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
Jason Merrill [Thu, 5 May 2011 20:09:18 +0000 (16:09 -0400)]
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
Joseph Myers [Thu, 5 May 2011 19:35:12 +0000 (20:35 +0100)]
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
Bernd Schmidt [Thu, 5 May 2011 16:49:11 +0000 (16:49 +0000)]
dwarf2out.c (dwarf2out_frame_debug_expr): Handle POST_MODIFY.
* dwarf2out.c (dwarf2out_frame_debug_expr) [rule 10]: Handle
POST_MODIFY.
From-SVN: r173446
Eric Botcazou [Thu, 5 May 2011 16:22:16 +0000 (16:22 +0000)]
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
Steve Ellcey [Thu, 5 May 2011 15:53:05 +0000 (15:53 +0000)]
Fix comment and update config/pa/pa.h (left off previous commit)
From-SVN: r173438
Steve Ellcey [Thu, 5 May 2011 15:49:28 +0000 (15:49 +0000)]
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
Jakub Jelinek [Thu, 5 May 2011 15:48:18 +0000 (17:48 +0200)]
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
Julian Brown [Thu, 5 May 2011 15:41:25 +0000 (15:41 +0000)]
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
Joseph Myers [Thu, 5 May 2011 14:59:55 +0000 (15:59 +0100)]
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
Jason Merrill [Thu, 5 May 2011 14:53:35 +0000 (10:53 -0400)]
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
Rainer Orth [Thu, 5 May 2011 13:55:44 +0000 (13:55 +0000)]
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
Joseph Myers [Thu, 5 May 2011 12:38:18 +0000 (13:38 +0100)]
* 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
Michael Matz [Thu, 5 May 2011 12:32:50 +0000 (12:32 +0000)]
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
Richard Guenther [Thu, 5 May 2011 12:26:05 +0000 (12:26 +0000)]
expmed.c (expand_variable_shift): Rename to ...
2011-05-05 Richard Guenther <rguenther@suse.de>
* expmed.c (expand_variable_shift): Rename to ...
(expand_shift_1): ... this. Take an expanded shift amount.
For rotates recurse directly not building trees for the shift amount.
(expand_variable_shift): Wrap around expand_shift_1.
(expand_shift): Adjust.
From-SVN: r173428
Jakub Jelinek [Thu, 5 May 2011 12:05:42 +0000 (14:05 +0200)]
re PR rtl-optimization/48381 (internal compiler error: in check_allocation, at ira.c:2094)
PR rtl-optimization/48381
* gcc.c-torture/compile/pr48381.c: New test.
From-SVN: r173427
Jakub Jelinek [Thu, 5 May 2011 12:04:29 +0000 (14:04 +0200)]
* gimplify.c (create_tmp_var_raw): Don't call build_type_variant.
From-SVN: r173426
Uros Bizjak [Thu, 5 May 2011 11:50:17 +0000 (13:50 +0200)]
opt-1.c: Add --param min-insn-to-prefetch -ratio=0 to dg-options.
* gcc.target/i386/opt-1.c: Add --param min-insn-to-prefetch -ratio=0
to dg-options.
* gcc.target/i386/opt-1.c: Ditto.
From-SVN: r173425
Eric Botcazou [Thu, 5 May 2011 11:49:05 +0000 (11:49 +0000)]
tree.h (get_pending_sizes): Remove prototype.
* tree.h (get_pending_sizes): Remove prototype.
(put_pending_size): Likewise.
(put_pending_sizes): Likewise.
* stor-layout.c (pending_sizes): Delete.
(get_pending_sizes): Likewise.
(put_pending_size): Likewise.
(put_pending_sizes): Likewise.
(variable_size): Do not call put_pending_size and tidy up.
* function.h (struct function): Remove dont_save_pending_sizes_p.
* lto-streamer-in.c (input_function): Do not stream it.
* lto-streamer-out.c (output_function): Likewise.
* tree-inline.c (initialize_cfun): Do not copy it.
* c-decl.c (store_parm_decls): Do not set it.
* omp-low.c (create_task_copyfn): Likewise.
* tree-optimize.c (tree_rest_of_compilation): Likewise.
cp/
* decl.c (start_preparsed_function): Likewise.
fortran/
* trans-decl.c (trans_function_start): Likewise.
ada/
* gcc-interface/utils.c (begin_subprog_body): Do not call
get_pending_sizes.
(end_subprog_body): Likewise.
From-SVN: r173424
Uros Bizjak [Thu, 5 May 2011 11:43:14 +0000 (13:43 +0200)]
i386.md (*movdf_internal_rex64): Simplify nested "if" conditions.
* config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
conditions.
(*movdf_internal): Ditto.
(*movdf_internal_nointeger): Ditto.
(*movsf_internal): Ditto.
From-SVN: r173423
Joseph Myers [Thu, 5 May 2011 10:20:31 +0000 (11:20 +0100)]
c-decl.c (finish_decl): Don't call get_pending_sizes.
* c-decl.c (finish_decl): Don't call get_pending_sizes.
(grokparm): Add parameter expr. Pass it to grokdeclarator.
(push_parm_decl): Add parameter expr. Pass it to grokdeclarator.
(c_variable_size): Remove.
(grokdeclarator): Use save_expr instead of c_variable_size. Don't
call put_pending_sizes.
(get_parm_info): Add parameter expr. Use it to set
arg_info->pending_sizes.
(store_parm_decls): Use arg_info->pending_sizes instead or calling
get_pending_sizes.
* c-parser.c (c_parser_parms_declarator): Update call to
c_parser_parms_list_declarator.
(c_parser_parms_list_declarator): Take parameter expr. Update
call to push_parm_decl. Update recursive call. Don't call
get_pending_sizes. Update calls to get_parm_info.
(c_parser_objc_method_definition): Update calls to
c_parser_objc_method_decl and objc_start_method_definition.
(c_parser_objc_methodproto): Update call to
c_parser_objc_method_decl.
(c_parser_objc_method_decl): Add parameter expr. Update call to
grokparm.
(c_parser_objc_try_catch_finally_statement): Update call to
grokparm.
* c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
(get_parm_info, grokparm, push_parm_decl): Update prototypes.
c-family:
* c-objc.h (objc_start_method_definition): Update prototype.
* stub-objc.c (objc_start_method_definition): Add extra parameter.
cp:
* parser.c (cp_parser_objc_method_definition_list): Update call to
objc_start_method_definition.
objc:
* objc-act.c (objc_start_method_definition): Add parameter expr.
Update call to start_method_def.
(objc_generate_cxx_ctor_or_dtor, objc_synthesize_getter,
objc_synthesize_setter) Update calls to
objc_start_method_definition.
(objc_get_parm_info): Add parameter expr. Update call to
get_parm_info.
(start_method_def): Add parameter expr. Update call to
objc_get_parm_info.
* objc-gnu-runtime-abi-01.c (build_module_initializer_routine):
Update call to objc_get_parm_info.
* objc-runtime-shared-support.h (objc_get_parm_info): Add extra
parameter.
From-SVN: r173422
Michael Hope [Thu, 5 May 2011 09:52:12 +0000 (09:52 +0000)]
For Michael Hope.
2011-05-05 Michael Hope <michael.hope@linaro.org>
PR pch/45979
* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
__ARM_EABI__ hosts.
From-SVN: r173421
Ulrich Weigand [Thu, 5 May 2011 09:41:53 +0000 (09:41 +0000)]
spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
* config/spu/spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
(TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
(spu_output_mi_thunk): New function.
From-SVN: r173420
Rainer Orth [Thu, 5 May 2011 09:10:19 +0000 (09:10 +0000)]
sol2.h (ASM_OUTPUT_CALL): Use targetm.asm_out.print_operand.
* config/sparc/sol2.h (ASM_OUTPUT_CALL): Use
targetm.asm_out.print_operand.
* config/sol2.c: Include target.h.
From-SVN: r173419
Ian Lance Taylor [Thu, 5 May 2011 05:22:12 +0000 (05:22 +0000)]
Use backend interface for slice types.
From-SVN: r173415
Janis Johnson [Thu, 5 May 2011 02:38:55 +0000 (02:38 +0000)]
* MAINTAINERS: Add myself (write after approval).
From-SVN: r173413
Jason Merrill [Thu, 5 May 2011 02:20:12 +0000 (22:20 -0400)]
re PR c++/48749 (internal compiler error: tree check: expected field_decl)
PR c++/48749
* class.c (resolves_to_fixed_type_p): Don't look closely
in templates.
From-SVN: r173412
Joern Rennecke [Thu, 5 May 2011 01:47:47 +0000 (01:47 +0000)]
* config-list.mk: New file.
From-SVN: r173410
Jerry DeLisle [Thu, 5 May 2011 01:23:46 +0000 (01:23 +0000)]
re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/48787
gfortran.dg/round_3.f08: Add more checks to test case.
From-SVN: r173409
Jerry DeLisle [Thu, 5 May 2011 01:19:30 +0000 (01:19 +0000)]
re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/48787
* io/write_float.def (output_float): Adjust up and down rounding for
cases where 'd' = 0. Gather common code to one location.
From-SVN: r173408
GCC Administrator [Thu, 5 May 2011 00:19:27 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173407
Mike Stump [Wed, 4 May 2011 23:42:26 +0000 (23:42 +0000)]
Regenerate.
From-SVN: r173402
Mike Stump [Wed, 4 May 2011 23:34:37 +0000 (23:34 +0000)]
Remove extra spacing at the end of the line.
From-SVN: r173401
Marc Glisse [Wed, 4 May 2011 23:23:54 +0000 (23:23 +0000)]
PR libstdc++/47913 (again)
2011-05-04 Marc Glisse <marc.glisse@normalesup.org>
PR libstdc++/47913 (again)
* include/std/ratio (ratio_add, ratio_less): Rewrite.
* testsuite/20_util/ratio/operations/47913.cc: Extend.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust dg-error
line numbers.
* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
From-SVN: r173400
Jan Hubicka [Wed, 4 May 2011 22:48:54 +0000 (00:48 +0200)]
ipa-inline.c (reset_edge_caches): New function.
* ipa-inline.c (reset_edge_caches): New function.
(update_caller_keys): Add check_inlinablity_for; do not
reset edge caches; remove now unnecesary loop.
(update_callee_keys): Add comments; reset
node_growth_cache of callee.
(update_all_callee_keys): Likewise.
(inline_small_functions): Sanity check cache; update code
recomputing it.
From-SVN: r173399
Hans-Peter Nilsson [Wed, 4 May 2011 21:46:42 +0000 (21:46 +0000)]
pr47878.f90, [...]: Gate test on effective_target fd_truncate.
* gfortran.dg/pr47878.f90, gfortran.dg/endfile_3.f90,
gfortran.dg/endfile_4.f90, gfortran.dg/ftell_3.f90,
gfortran.dg/fmt_cache_1.f, gfortran.dg/namelist_66.f90:
Gate test on effective_target fd_truncate.
From-SVN: r173397
Joseph Myers [Wed, 4 May 2011 21:44:32 +0000 (22:44 +0100)]
configure.ac: Remove code setting special library locations for hppa*64*-*-hpux11*.
* configure.ac: Remove code setting special library locations for
hppa*64*-*-hpux11*. Remove code setting compiler for
sparc-sun-solaris2*.
* configure: Regenerate.
From-SVN: r173396
Bernd Schmidt [Wed, 4 May 2011 20:24:15 +0000 (20:24 +0000)]
re PR rtl-optimization/47612 (RTL crash when cc0 setter moved away from cc0 user)
PR rtl-optimization/47612
* df-problems.c (can_move_insns_across): Don't pick a cc0 setter
as the last insn of the sequence to be moved.
From-SVN: r173393
Chris Demetriou [Wed, 4 May 2011 18:59:31 +0000 (11:59 -0700)]
morestack.S (__i686.get_pc_thunk.bx): Rename to...
2011-05-04 Chris Demetriou <cgd@google.com>
* config/i386/morestack.S (__i686.get_pc_thunk.bx): Rename to...
(__x86.get_pc_thunk.bx): ...this.
(__morestack): Adjust for rename, remove undef of __i686.
From-SVN: r173391
Uros Bizjak [Wed, 4 May 2011 18:59:04 +0000 (20:59 +0200)]
recip-vec-divf.c: Decrease array sizes.
* gcc.target/i386/recip-vec-divf.c: Decrease array sizes.
* gcc.target/i386/recip-vec-sqrtf.c: Ditto.
* gcc.target/i386/recip-vec-divf-avx.c: Increase array sizes.
* gcc.target/i386/recip-vec-sqrtf-avx.c: Ditto. Update scan times.
* gcc.target/i386/ssefn-1.c: Add -mno-sse2 to dg-options.
* gcc.target/i386/pr38824.c: Ditto.
* gcc.target/i386/vecinit-1.c: Add -mno-sse4 to dg-options.
* gcc.target/i386/vecinit-2.c: Ditto.
* gcc.target/i386/sse-19.c: Add -mno-ssse3 to dg-options.
* gcc.target/i386/parity-1.c: Add -mno-popcnt to dg-options.
* gcc.target/i386/parity-2.c: Ditto.
* gcc.target/i386/incoming-8.c: Add -mno-avx to dg-options.
From-SVN: r173390
Mike Stump [Wed, 4 May 2011 18:25:20 +0000 (18:25 +0000)]
Fixup whitespacing.
From-SVN: r173388
Nathan Froyd [Wed, 4 May 2011 17:21:22 +0000 (17:21 +0000)]
remove gfc_chainon_list
remove gfc_chainon_list
* trans.h (gfc_chainon_list): Delete.
* trans.c (gfc_chainon_list): Delete.
From-SVN: r173386
Tobias Burnus [Wed, 4 May 2011 17:10:15 +0000 (19:10 +0200)]
re PR fortran/48864 (-Ofast should imply -fno-protect-parens)
gcc/
2011-05-04 Tobias Burnus <burnus@net-b.de>
PR fortran/48864
* doc/invoke.texi (Ofast): Document that it
enables Fortran's -fno-protect-parens.
gcc/fortran
2011-05-04 Tobias Burnus <burnus@net-b.de>
PR fortran/48864
* invoke.texi (fno-protect-parens): Document
that -Ofast implies -fno-protect-parens.
* options.c (gfc_init_options, gfc_post_options):
Make -Ofast imply -fno-protect-parens.
From-SVN: r173385
Nathan Froyd [Wed, 4 May 2011 17:08:04 +0000 (17:08 +0000)]
don't use TYPE_ARG_TYPES in c-family/
don't use TYPE_ARG_TYPES in c-family/
* c-common.c (check_main_parameter_types): Reindent. Don't use
TYPE_ARG_TYPES directly.
(handle_nonnull_attribute): Likewise.
(sync_resolve_params): Likewise.
* c-format.c (handle_format_arg_attribute): Likewise. Adjust call
to check_format_string.
(handle_format_attribute): Likewise.
(check_format_string): Take a function type to examine instead of
a type list. Use a function_arg_iterator to step through argument
types.
From-SVN: r173384
Uros Bizjak [Wed, 4 May 2011 17:07:03 +0000 (19:07 +0200)]
i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
* config/i386/i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
From-SVN: r173383
Eric Botcazou [Wed, 4 May 2011 16:48:18 +0000 (16:48 +0000)]
* stor-layout.c (variable_size): Do not issue errors.
From-SVN: r173381
Ian Lance Taylor [Wed, 4 May 2011 15:42:18 +0000 (15:42 +0000)]
Use backend interface for named types and array types.
* go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
(Gcc_backend::fill_in_struct): New function.
(Gcc_backend::array_type): Implement.
(Gcc_backend::fill_in_array): New function.
(Gcc_backend::placeholder_pointer_type): New function.
(Gcc_backend::set_placeholder_pointer_type): New function.
(Gcc_backend::set_placeholder_function_type): New function.
(Gcc_backend::placeholder_struct_type): New function.
(Gcc_backend::set_placeholder_struct_type): New function.
(Gcc_backend::placeholder_array_type): New function.
(Gcc_backend::set_placeholder_array_type): New function.
(Gcc_backend::named_type): New function.
(Gcc_backend::circular_pointer_type): New function.
(Gcc_backend::is_circular_pointer_type): New function.
From-SVN: r173380
Richard Guenther [Wed, 4 May 2011 14:58:51 +0000 (14:58 +0000)]
coverage.c (tree_coverage_counter_ref): Use integer_type_node for array-ref indices.
2011-05-04 Richard Guenther <rguenther@suse.de>
* coverage.c (tree_coverage_counter_ref): Use integer_type_node
for array-ref indices.
(tree_coverage_counter_addr): Likewise.
(build_fn_info_type): Use size_int for index types.
(build_gcov_info): Likewise.
From-SVN: r173379
Richard Guenther [Wed, 4 May 2011 14:56:14 +0000 (14:56 +0000)]
c-decl.c (check_bitfield_type_and_width): Do not pass NULL to build_int_cst.
2011-05-04 Richard Guenther <rguenther@suse.de>
* c-decl.c (check_bitfield_type_and_width): Do not pass NULL
to build_int_cst.
* c-typeck.c (really_start_incremental_init): Use bitsize_int
for constructor indices.
(push_init_level): Likewise.
c-family/
* c-common.c (fix_string_type): Use size_int for index type bounds.
(start_fname_decls): Do not pass NULL to build_int_cst.
(c_init_attributes): Likewise.
* c-lex.c (c_lex_with_flags): Likewise.
From-SVN: r173378
Richard Guenther [Wed, 4 May 2011 13:51:01 +0000 (13:51 +0000)]
explow.c (promote_mode): Move variable declarations before code.
2011-05-04 Richard Guenther <rguenther@suse.de>
* explow.c (promote_mode): Move variable declarations before code.
From-SVN: r173376
Nathan Froyd [Wed, 4 May 2011 13:44:48 +0000 (13:44 +0000)]
tree.h (build_function_type_array): Declare.
gcc/
* tree.h (build_function_type_array): Declare.
(build_varargs_function_type_array): Declare.
(build_function_type_vec, build_varargs_function_type_vec): Define.
* tree.c (build_function_type_array_1): New function.
(build_function_type_array): New function.
(build_varargs_function_type_array): New function.
gcc/fortran/
* trans-decl.c (build_library_function_decl_1): Call
build_function_type_vec. Adjust argument list building accordingly.
* trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
* trans-types.c (gfc_get_function_type): Likewise.
From-SVN: r173375
Richard Guenther [Wed, 4 May 2011 13:18:34 +0000 (13:18 +0000)]
trans-array.c (gfc_trans_array_constructor_value): Use size_int for bounds of range types.
2011-05-04 Richard Guenther <rguenther@suse.de>
* trans-array.c (gfc_trans_array_constructor_value): Use
size_int for bounds of range types.
(gfc_trans_array_constructor_value): Use size_type_node
for memcpy argument.
* trans-common.c (build_field): Use gfc_charlen_type_node
for lengths.
* trans-openmp.c (gfc_trans_omp_clauses): Do not pass NULL
as type to build_int_cst.
* trans-const.c (gfc_build_string_const): Use size_int
for bounds of range types.
(gfc_build_wide_string_const): Likewise.
* trans-stmt.c (gfc_trans_label_assign): Use gfc_charlen_type_node
for lengths.
(gfc_trans_character_select): Likewise.
(gfc_trans_character_select): Do not pass NULL
as type to build_int_cst.
(gfc_trans_character_select): Use size_int for bounds of range types.
* trans-io.c (gfc_build_io_library_fndecls): Likewise.
(add_case): Do not pass NULL as type to build_int_cst.
(transfer_expr): Likewise.
(transfer_array_desc): Likewise.
* trans-decl.c (gfc_add_assign_aux_vars): Use gfc_charlen_type_node
for lengths.
(gfc_trans_assign_aux_var): Likewise.
(create_main_function): Use size_int for bounds of range types.
* trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): Do not pass
NULL as type to build_int_cst.
(gfc_conv_intrinsic_spacing): Likewise.
(gfc_conv_intrinsic_rrspacing): Likewise.
(gfc_conv_intrinsic_len): Use gfc_charlen_type_node for lengths.
From-SVN: r173374
Richard Sandiford [Wed, 4 May 2011 13:09:26 +0000 (13:09 +0000)]
tree-vect-loop.c (vectorizable_reduction): Check reduction cost before setting STMT_VINFO_TYPE.
gcc/
* tree-vect-loop.c (vectorizable_reduction): Check reduction cost
before setting STMT_VINFO_TYPE.
From-SVN: r173373
Ulrich Weigand [Wed, 4 May 2011 12:43:05 +0000 (12:43 +0000)]
spu.c (spu_gimplify_va_arg_expr): Call pass_by_reference instead of spu_pass_by_reference.
* config/spu/spu.c (spu_gimplify_va_arg_expr): Call pass_by_reference
instead of spu_pass_by_reference.
From-SVN: r173372
Andreas Krebbel [Wed, 4 May 2011 12:01:21 +0000 (12:01 +0000)]
calls.c (emit_library_call_value_1): Invoke promote_function_mode hook on libcall arguments.
2011-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* calls.c (emit_library_call_value_1): Invoke
promote_function_mode hook on libcall arguments.
* explow.c (promote_function_mode, promote_mode): Handle TYPE
argument being NULL.
* targhooks.c (default_promote_function_mode): Lisewise.
* config/s390/s390.c (s390_promote_function_mode): Likewise.
* config/sparc/sparc.c (sparc_promote_function_mode): Likewise.
* doc/tm.texi: Document that TYPE argument might be NULL.
From-SVN: r173371
Stuart Henderson [Wed, 4 May 2011 11:40:32 +0000 (11:40 +0000)]
mcpu-bf512.c: Update to latest silicon revision and remove duplication.
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
* gcc.target/bfin/mcpu-bf512.c: Update to latest silicon revision and
remove duplication.
* gcc.target/bfin/mcpu-bf514.c: Likewise.
* gcc.target/bfin/mcpu-bf516.c: Likewise.
* gcc.target/bfin/mcpu-bf518.c: Likewise.
From-SVN: r173370
Stuart Henderson [Wed, 4 May 2011 11:25:58 +0000 (11:25 +0000)]
bfin.c (bfin_cpus): Update silicon revisions.
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
* config/bfin/bfin.c (bfin_cpus): Update silicon revisions.
From-SVN: r173369
Stuart Henderson [Wed, 4 May 2011 11:14:54 +0000 (11:14 +0000)]
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
From Bernd Schmidt
* config/bfin/bfin.md (addsi3): Add an alternative for IREGS.
From-SVN: r173368
Rainer Orth [Wed, 4 May 2011 11:04:50 +0000 (11:04 +0000)]
* config/alpha/alpha.h (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB)
(MIPS_UNMARK_STAB, SHASH_SIZE, THASH_SIZE, ALIGN_SYMTABLE_OFFSET):
Move ...
* mips-tfile.c: ... here.
Don't include coretypes.h, tm.h, filenames.h.
(saber_stop): Remove definition and all calls.
[__SABER__]: Remove.
(__LINE__): Remove default.
(Size_t, Ptrdiff_t): Remove definitions.
Replace by size_t, ptrdiff_t.
[!MIPS_DEBUGGING_INFO]: Remove.
(SHASH_SIZE, THASH_SIZE): Remove defaults.
(progname): Add const.
(STATIC): Remove.
Replace all uses by static.
(ALIGN_SYMTABLE_OFFSET): Remove default.
* mips-tdump.c: Don't include coretypes.h, tm.h.
Remove !MIPS_IS_STAB guard.
* Makefile.in (mips-tfile.o): Remove $(RTL_H), coretypes.h,
$(TM_H), filenames.h dependencies.
(mips-tdump.o): Remove $(RTL_H), coretypes.h, $(TM_H) dependencies.
From-SVN: r173367
Stuart Henderson [Wed, 4 May 2011 11:03:00 +0000 (11:03 +0000)]
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
From Jie Zhang
*config/bfin/bfin.c (bfin_extra_live_on_entry): New.
(TARGET_EXTRA_LIVE_ON_ENTRY): Define.
From-SVN: r173366
Stuart Henderson [Wed, 4 May 2011 10:48:55 +0000 (10:48 +0000)]
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
From Bernd Schmidt
* config/bfin/bfin.h (FUNCTION_PROFILER): Take TARGET_LONG_CALLS into
account and save/restore RETS.
(PROFILE_BEFORE_PROLOGUE): Define.
(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add tab character. Correct
the push insn to use predecrement.
From-SVN: r173365
Stuart Henderson [Wed, 4 May 2011 10:42:59 +0000 (10:42 +0000)]
2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
From Jie Zhang
* config/bfin/bfin.c (bfin_expand_prologue): Don't clobber P2.
From-SVN: r173364
Uros Bizjak [Wed, 4 May 2011 10:09:42 +0000 (12:09 +0200)]
* config/i386/i386.md: Fix typo in comment.
From-SVN: r173363
Nick Clifton [Wed, 4 May 2011 10:08:09 +0000 (10:08 +0000)]
mn10300.c: Include cfgloop.h.
* config/mn10300/mn10300.c: Include cfgloop.h.
(DUMP): New macro.
(mn10300_insert_setlb_lcc): New function. Inserts a SETLB and a
Lcc or a FLcc insn into the instruction stream.
(mn10300_block_contains_call): New function. Returns true if the
given basic block contains a CALL insn.
(mn10300_loop_contains_call_insn): New function. Returns true if
the given loop contains a CALL insn.
(mn10300_scan_for_setlb_lcc): New function. Finds opportunities
to use the SETLB and Lcc or FLcc insns.
(mn10300_reorg): Invoke mn10300_scan_for_setlb_lcc when optimizing.
(TARGET_FLAGS): Add MASK_ALLOW_SETLB.
* config/mn10300/mn10300.opt (msetlb): New option. Used to
disable the SETLB optimization.
* config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
__SETLB__ or __NO_SETLB__.
* config/mn10300/mn10300.md (UNSPEC_SETLB): New constant.
(movsf_internal): Handle MDR register.
(cmpsi): Make visible.
(setlb): New pattern.
(Lcc): New pattern.
(FLcc): New pattern.
From-SVN: r173362