Commit Graph

100367 Commits

Author SHA1 Message Date
Nathan Froyd 0a7561b793 re PR middle-end/44204 (ICE in gimple_op_ptr, at gimple.h:167)
PR middle-end/44204
	* builtins.c (fold_call_stmt): Pass &error_mark_node if the call
	statement has no arguments.

From-SVN: r159662
2010-05-21 13:17:04 +00:00
Paolo Carlini f271b5369a functional: Use std::__addressof.
2010-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1/functional: Use std::__addressof.
	* include/tr1/hashtable_policy.h: Likewise.

From-SVN: r159661
2010-05-21 12:59:30 +00:00
Kai Tietz e193556973 varasm.c (emutls_decl): Merge attributes to new decl.
2010-05-21  Kai Tietz  <kai.tietz@onevision.com>

        PR/44139
        * varasm.c (emutls_decl): Merge attributes to new decl.

From-SVN: r159658
2010-05-21 13:25:23 +02:00
Eric Botcazou 46314d3e81 re PR middle-end/44101 (ICE compiling 25_algorithms/fill/4.cc on Tru64 UNIX V5.1B)
PR middle-end/44101
	* gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
	around the uniquized constructor if its type requires a conversion.

From-SVN: r159655
2010-05-21 10:02:07 +00:00
Jakub Jelinek f99fcb3ba5 re PR debug/44205 (Wrong .debug_line for -O0 -g)
PR debug/44205
	* tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
	at -O0 goto_locus of any of the incoming edges differs from
	goto_locus of outgoing edge, or gimple_location of any of the
	labels differs.

From-SVN: r159652
2010-05-21 11:26:31 +02:00
GCC Administrator 9db7d6ef74 Daily bump.
From-SVN: r159650
2010-05-21 00:17:16 +00:00
Vladimir Makarov 0583835c7d ira.c (ira_non_ordered_class_hard_regs): Define.
* ira.c (ira_non_ordered_class_hard_regs): Define.
        (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
        * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
        * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
        cost of unaligned hard regs when allocating multi-reg pseudos.

From-SVN: r159644
2010-05-20 16:49:07 -06:00
Paolo Carlini 882b3d5c2e [multiple changes]
2010-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41792
	* include/tr1_impl/array: Use std::__addressof.
	* include/std/functional (reference_wrapper): Likewise.
	* include/ext/throw_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/extptr_allocator.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/hashtable_policy.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/list.tcc: Likewise.
	* include/bits/stl_construct.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* testsuite/20_util/reference_wrapper/41792.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/multimap/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/set/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/vector/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/deque/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/multiset/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/list/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/map/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation/3.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/
	dr438/assign_neg.cc: Adjust dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

2010-05-20  Peter Dimov  <pdimov@pdimov.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (__addressof, addressof): Add.
	* testsuite/util/testsuite_api.h (struct OverloadedAddress): Add.
	* testsuite/20_util/addressof/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/addressof/1.cc: Likewise.

From-SVN: r159643
2010-05-20 22:35:49 +00:00
Richard Sandiford 9f946bc11c config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
2010-05-08  Richard Sandiford  <rdsandiford@googlemail.com>
	    Jim Wilson  <wilson@codesourcery.com>

gcc/
	* config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
	for TARGET_NO_FLOAT.
	* config/mips/mips.c (mips_file_start): Expand conditional expression
	into "if" statements.  Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
	(mips_override_options): Move -mno-float override -msoft-float and
	-mhard-float.
	* config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
	Condition(TARGET_SUPPORTS_NO_FLOAT).
	* config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
	__mips_no_float here.
	(SUBTARGET_OVERRIDE_OPTIONS): Delete.
	(TARGET_SUPPORTS_NO_FLOAT): Define.
	* config/mips/sdemtk.opt: Delete.

From-SVN: r159642
2010-05-20 22:20:34 +00:00
Daniel Franke 4ed44cccdd re PR fortran/38407 (Wishlist: -Wunused-dummy-argument and -Wno-unused-dummy-argument)
gcc/fortran/:
2010-05-20  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/38407
        * lang.opt (Wunused-dummy-argument): New option.
        * gfortran.h (gfc_option_t): Add warn_unused_dummy_argument.
        * options.c (gfc_init_options): Disable warn_unused_dummy_argument.
        (set_Wall): Enable warn_unused_dummy_argument.
        (gfc_handle_option): Set warn_unused_dummy_argument according to
        command line.
        * trans-decl.c (generate_local_decl): Separate warnings about
        unused variables and unused dummy arguments.
        * invoke.texi: Documented new option.

gcc/testsuite/:
2010-05-20  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/38407
        * warn_unused_dummy_argument_1.f90: New.
        * warn_unused_dummy_argument_2.f90: New.

From-SVN: r159641
2010-05-20 17:49:07 -04:00
Steven Bosscher a48ba7e10b trans-expr.c: Do not include convert.h, ggc.h, real.h, and gimple.h.
* trans-expr.c: Do not include convert.h, ggc.h, real.h, and gimple.h.
	(gfc_conv_string_tmp): Do not assert type comparibilty.
	*  trans-array.c: Do not include gimple.h, ggc.h, and real.h.
	(gfc_conv_expr_descriptor): Remove assert.
	* trans-common.c: Clarify why rtl.h and tm.h are included.
	* trans-openmp.c: Do not include ggc.h and real.h.
	Explain why gimple.h is included.
	* trans-const.c: Do not include ggc.h.
	* trans-stmt.c: Do not include gimple.h, ggc.h, and real.h.
	* trans.c: Do not include ggc.h and real.h.
	Explain why gimple.h is included.
	* trans-types.c: Do not include tm.h.  Explain why langhooks.h
	and dwarf2out.h are included.
	* trans-io.c: Do not include gimple.h and real.h.
	* trans-decl.c: Explain why gimple.h, tm.h, and rtl.h are included.
	* trans-intrinsic.c: Do not include gimple.h.  Explain why tm.h
	is included.

From-SVN: r159640
2010-05-20 20:57:45 +00:00
Segher Boessenkool 6961061753 ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
2010-05-20  Segher Boessenkool  <segher@kernel.crashing.org>

	* ipa-prop.c (compute_complex_ancestor_jump_func): Bail
	out if !cond.

From-SVN: r159639
2010-05-20 22:14:39 +02:00
Jerry DeLisle 00b97acd1b re PR fortran/43851 (Add _gfortran_error_stop_numeric)
2010-05-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>

	PR fortran/43851
	* runtime/stop.c (stop_string): Make sure nothing is emitted for
	blank stop.

From-SVN: r159638
2010-05-20 19:40:30 +00:00
Paolo Carlini 1a494ab5a5 re PR c++/30298 (ICE with duplicate broken inheritance)
/cp
2010-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/30298
	* decl.c (xref_basetypes): Return false in case of ill-formed
	redefinition.

/testsuite
2010-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/30298
	* g++.dg/inherit/crash1.C: New.
	* g++.dg/inherit/crash2.C: Likewise.

From-SVN: r159637
2010-05-20 19:31:47 +00:00
Uros Bizjak 953c29f73e re PR target/43733 (bootstrap fails on Solaris 10 x86 with GNU as 2.15 and --with-arch=core2)
PR target/43733
	* configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
	instead of sahf only for 64bit targets.

From-SVN: r159636
2010-05-20 20:52:03 +02:00
Jakub Jelinek 8961e01e95 re PR debug/43521 (java: "this" pointer not marked with DW_AT_artificial)
PR debug/43521
	* decl.c (start_java_method): Set DECL_ARTIFICIAL on the 'this'
	PARM_DECL.

From-SVN: r159635
2010-05-20 19:00:32 +02:00
Jakub Jelinek 69b45d71f3 re PR debug/44178 (-fcompare-debug failure with -O1 -fgcse -fsched-pressure -funroll-loops -fschedule-insns)
PR debug/44178
	* haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
	setup_ref_regs for DEBUG_INSNs.

	* g++.dg/debug/pr44178.C: New test.

From-SVN: r159632
2010-05-20 18:34:43 +02:00
Changpeng Fang d377fbbf51 Fix PR44185: new prefetch test failures.
2010-05-20  Changpeng Fang  <changpeng.fang@amd.com>

	PR middle-end/44185
	* gcc.dg/tree-ssa/prefetch-6.c: Add --param min-insn-to-prefetch-ratio=6.
	* gcc.dg/tree-ssa/prefetch-7.c: Remove --param max-unrolled-insns=1 to
        allow unrolling, and adjust the movnti count.

From-SVN: r159630
2010-05-20 15:29:40 +00:00
Jan Hubicka a14f187843 re PR middle-end/44197 ([4.6 Regresssion] varpool SEGV)
PR middle-end/44197
	* varpool.c (varpool_remove_node): Handle in-varpool aliases.
	* gcc.c-torture/compile/pr44197.c: New file.

From-SVN: r159629
2010-05-20 14:57:27 +00:00
Paolo Carlini ab6bfd90cb stl_pair.h (pair<>::pair(const pair&)): Defaulted in C++0x mode.
2010-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_pair.h (pair<>::pair(const pair&)): Defaulted
	in C++0x mode.
	(pair<>::operator=(const pair<>&)): Add in C++0x mode.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
	line number.

From-SVN: r159628
2010-05-20 14:08:53 +00:00
Kenneth Zadeck 5797be120a re PR bootstrap/43870 (ICE in gcc/config/soft-fp/divtf3.c)
PR bootstrap/43870
	* df-scan.c (df_ref_compare): Stabilize sort.

From-SVN: r159625
2010-05-20 12:05:54 +00:00
Jakub Jelinek f1ca31177d dwarf2out.c (new_loc_descr_op_bit_piece): Add offset argument.
* dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
	argument.  Don't use DW_OP_piece if offset is non-zero,
	put offset into second DW_OP_bit_piece argument.
	(dw_sra_loc_expr): Adjust callers.  For memory expressions
	compute offset.

From-SVN: r159623
2010-05-20 12:35:04 +02:00
Uros Bizjak 431043bdd7 i386.exp (check_effective_target_3dnow): Fix test code.
* gcc.target/i386/i386.exp (check_effective_target_3dnow):
	Fix test code.
	(check_effective_target_xop): Remove __may_alias__ attribute.

From-SVN: r159621
2010-05-20 11:34:50 +02:00
Tobias Burnus feef2551ec options.c (gfc_init_options,gfc_post_options): Enable flag_associative_math by default.
2010-05-20  Tobias Burnus  <burnus@net-b.de>

        * options.c (gfc_init_options,gfc_post_options): Enable
        flag_associative_math by default.

From-SVN: r159620
2010-05-20 09:49:26 +02:00
James E. Wilson 9af157ac12 mips-dsp.md (add<DSPV:mode>3, [...]): Add ISA_HAS_DSP condition.
* config/mips/mips-dsp.md (add<DSPV:mode>3,
mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.

From-SVN: r159619
2010-05-19 23:53:43 -07:00
Hans-Peter Nilsson d8ec9c148f re PR target/44202 (Missing compare after add)
PR target/44202
	* config/cris/cris.md ("*addsi3_v32"): Correct "cc"
	settings for 16-bit-constant "addo" alternative.

From-SVN: r159612
2010-05-20 06:45:38 +00:00
Hans-Peter Nilsson f36eb2af96 re PR target/44202 (Missing compare after add)
PR target/44202
	* gcc.c-torture/execute/pr44202-1.c: New test.

From-SVN: r159611
2010-05-20 06:44:45 +00:00
James E. Wilson 951771dc6b re PR target/43764 (-mrelax-pic-calls fails with complex types)
PR target/43764
* mips.c (mips_call_expr_from_insn): New arg second_call.  Set it.
(mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
Use it.

From-SVN: r159610
2010-05-19 23:26:52 -07:00
Jerry DeLisle 6d1b0f922a re PR fortran/43851 (Add _gfortran_error_stop_numeric)
2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>

	PR fortran/43851
	* runtime/stop.c (error_stop_numeric): New function and updated comment.
	Add declaration for stop_numeric and remove declaration for stop_string.
	(stop_string): Use for blank STOP.
	(stop_numeric): Remove use of special -1 stop code.
	* runtime/pause.c (do_pause): Use stop_string for blank stop.
	(pause_numeric): Remove use of special -1 pause code.
	* gfortran.map: Add new symbol to run-time library.
	* libgfortran.h: Move declaration for stop_string to here to make
	function visible for do_pause. Remove declaration for stop_numeric.

2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>

	PR fortran/43851
	* trans-stmt.c (gfc_trans_stop): Add generation of call to
	gfortran_error_stop_numeric. Fix up some whitespace. Use stop_string for
	blank STOP, handling a null expression. (gfc_trans_pause): Use
	pause_string for blank PAUSE.
	* trans.h: Add external function declaration for error_stop_numeric.
	* trans-decl.c (gfc_build_builtin_function_decls): Add the building of
	the declaration for the library call. Adjust whitespaces.
	* match.c (gfc_match_stopcode): Remove use of the actual stop code to
	signal no stop code. Match the expression following the stop and pass
	that to the translators. Remove the old use of digit matching.  Add
	checks that the stop_code expression is INTEGER or CHARACTER, constant,
	and if CHARACTER, default character KIND.

2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>

	PR fortran/43851
	* gfortran.dg/label_1.f90: Update test.

From-SVN: r159609
2010-05-20 04:44:11 +00:00
GCC Administrator b41e2d6d52 Daily bump.
From-SVN: r159608
2010-05-20 00:18:01 +00:00
Jan Hubicka 66576e1bc7 ipareference2_0.c: New file.
* gcc.dg/lto/ipareference2_0.c: New file.
	* gcc.dg/lto/ipareference2_1.c: New file.
	* lto.c (promote_var, promote_fn): New functions.
	(lto_promote_cross_file_statics): Compute correctly boundary including
	static initializers of readonly vars.

From-SVN: r159604
2010-05-19 23:55:38 +00:00
Joseph Myers 676dd4d4df diagnostic.c (FLOAT, FFS): Don't undefine.
* diagnostic.c (FLOAT, FFS): Don't undefine.
	* passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
	* cse.c, regmove.c: Remove comments about stdio.h and rtl.h
	include ordering.

From-SVN: r159602
2010-05-19 22:32:19 +01:00
Richard Sandiford caba7aaaa7 combine.c (propagate_for_debug): Call make_compound_operation on the source value.
gcc/
	* combine.c (propagate_for_debug): Call make_compound_operation
	on the source value.
	(try_combine): When implementing a split chosen by find_split_point,
	either copy i2src or set it to null.  Assert that i2src is not null
	before substituting into CALL_INSN_FUNCTION_USAGE.

From-SVN: r159600
2010-05-19 21:08:53 +00:00
Jason Merrill a3360e778c call.c (reference_binding): Use cp_build_qualified_type_real and cp_type_quals consistently.
* call.c (reference_binding): Use cp_build_qualified_type_real
	and cp_type_quals consistently.
	(add_function_candidate): Likewise.
	(build_conditional_expr): Likewise.
	(convert_like_real): Likewise.
	(type_passed_as): Likewise.
	* class.c (add_method): Likewise.
	(same_signature_p): Likewise.
	(layout_class_type): Likewise.
	* decl.c (cxx_init_decl_processing): Likewise.
	(cp_fname_init): Likewise.
	(grokdeclarator): Likewise.
	* decl2.c (cp_reconstruct_complex_type): Likewise.
	* init.c (build_new_1): Likewise.
	* method.c (do_build_copy_constructor): Likewise.
	(implicitly_declare_fn): Likewise.
	* pt.c (tsubst_aggr_type): Likewise.
	(tsubst): Likewise.
	* rtti.c (init_rtti_processing): Likewise.
	(build_headof): Likewise.
	(build_dynamic_cast_1): Likewise.
	(tinfo_base_init): Likewise.
	(emit_support_tinfos): Likewise.
	* semantics.c (capture_decltype): Likewise.
	* tree.c (cv_unqualified): Likewise.
	* typeck.c (composite_pointer_type): Likewise.
	(string_conv_p): Likewise.

	* mangle.c (write_CV_qualifiers_for_type): Tweak.

	* call.c (initialize_reference): Use CP_TYPE_CONST_P.
	* decl.c (start_decl): Likewise.
	* semantics.c (finish_compound_literal): Likewise.
	* typeck.c (check_return_expr): Use CP_TYPE_VOLATILE_P.
	(cp_type_readonly): Remove.
	* cp-tree.h: Remove declaration.

From-SVN: r159599
2010-05-19 17:02:27 -04:00
Jason Merrill a0685b7311 * typeck.c (merge_types): Preserve memfn quals.
From-SVN: r159598
2010-05-19 17:02:16 -04:00
Jason Merrill 93e1ddcf9c decl.c (grokdeclarator): Don't check quals on fn type.
* decl.c (grokdeclarator): Don't check quals on fn type.
	* typeck.c (cp_apply_type_quals_to_decl): Likewise.
	* tree.c (cp_build_qualified_type_real): Simplify qualifier checking.

From-SVN: r159597
2010-05-19 17:02:03 -04:00
Jason Merrill 2872152c39 re PR c++/44193 (function types, cv-quals and typename)
PR c++/44193
	* typeck.c (type_memfn_quals): New fn.
	(apply_memfn_quals): New fn.
	(cp_type_quals): Return TYPE_UNQUALIFIED for FUNCTION_TYPE.
	(cp_type_readonly): Use cp_type_quals.
	* cp-tree.h: Add declarations.
	* tree.c (cp_build_qualified_type_real): Don't set, but do
	preserve, quals on FUNCTION_TYPE.
	(strip_typedefs): Use apply_memfn_quals and type_memfn_quals.
	* decl.c (build_ptrmem_type): Likewise.
	(grokdeclarator): Likewise.
	(static_fn_type): Likewise.
	* decl2.c (change_return_type): Likewise.
	(cp_reconstruct_complex_type): Likewise.
	* pt.c (tsubst_function_type): Likewise.
	(unify): Likewise.
	(tsubst): Likewise.  Drop special FUNCTION_TYPE substitution code.

From-SVN: r159596
2010-05-19 17:01:50 -04:00
Anatoly Sokolov 1961ffb8cd double-int.h (double_int_ior): New function.
* double-int.h (double_int_ior): New function.
	* tree.h (build_int_cst_wide_type): Remove.
	* tree.c (build_int_cst_wide_type): Remove.
	* fold-const.c (native_interpret_int): Use double_int_to_tree instead
	of build_int_cst_wide_type.
	* stor-layout.c (set_sizetype): (Ditto.).
	* dojump.c (do_jump): Use build_int_cstu instead of
	build_int_cst_wide_type.

/java
	* jcf-parse.c (get_constant): Use double_int_to_tree instead of
	build_int_cst_wide_type.

From-SVN: r159595
2010-05-20 00:09:57 +04:00
Jonathan Wakely 9908949ca6 wait.cc (wait): Rename.
2010-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/30_threads/future/members/wait.cc (wait): Rename.
	* testsuite/30_threads/shared_future/members/wait.cc (wait): Likewise.

From-SVN: r159593
2010-05-19 19:48:48 +01:00
Eric Botcazou 616f1431bf langhooks.h (struct lang_hooks): Add new field deep_unsharing.
* langhooks.h (struct lang_hooks): Add new field deep_unsharing.
	* langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
	* gimplify.c: (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
	TARGET_EXPR nodes, but only once, if instructed to do so.  Do not
	propagate the 'data' argument to copy_tree_r.
	(copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
	Propagate 'data' argument to walk_tree.
	(copy_if_shared): New function.
	(unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
	(unmark_visited): New function.
	(unshare_body): Call copy_if_shared instead of doing it manually.
	(unvisit_body): Call unmark_visited instead of doing it manually.
ada/
	* gcc-interface/misc.c (LANG_HOOKS_DEEP_UNSHARING): Redefine.
	* gcc-interface/trans.c (unshare_save_expr): Delete.
	(gigi): Do not unshare trees under SAVE_EXPRs here.

From-SVN: r159592
2010-05-19 17:53:58 +00:00
Daniel Franke daf8c6f03b re PR fortran/44055 (Warn (-Wconversion*) when converting single to double precision)
gcc/fortran/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/44055
	* lang.opt (Wconversion-extra): New option.
	* gfortran.h (gfc_option_t): Add warn_conversion_extra.
	* options.c (gfc_init_options): Disable -Wconversion-extra by default.
	(set_Wall): Enable -Wconversion.
	(gfc_handle_option): Set warn_conversion_extra.
	* intrinsic.c (gfc_convert_type_warn): Ignore kind conditions
	introduced for -Wconversion if -Wconversion-extra is present.
	* invoke.texi: Add -Wconversion to -Wall; document new behaviour of
	-Wconversion; document -Wconversion-extra.

gcc/testsuite/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/44055
	* gfortran.dg/c_sizeof_2.f90: Add -Wno-conversion to dg-options;
	Fixed scope of C_SIZEOF.
	* gfortran.dg/warn_conversion_2.f90: New.

From-SVN: r159586
2010-05-19 12:35:34 -04:00
Nathan Froyd f311c3b4a6 hooks.h (hook_tree_tree_tree_bool_null): Rename to...
* hooks.h (hook_tree_tree_tree_bool_null): Rename to...
	(hook_tree_tree_int_treep_bool_null): ...this.  Update signature.
	* hooks.c: Likewise.
	* target-def.h (TARGET_FOLD_BUILTIN): Define to
	hook_tree_tree_int_treep_bool_null.
	* target.h: (struct gcc_target): Update signature of fold_builtin
	field.
	* doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
	* builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
	instead of the call expression.
	(fold_builtin_call_array): Pass n and argarray directly.
	(fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
	consing a list.
	* config/alpha/alpha.c (alpha_fold_builtin): Update signature.  Lift
	MAX_ARGS check out of the loop.  Delete declaration of `arity', declare
	`i' and use it in place of `arity'.
	* config/sparc/sparc.c (sparc_fold_builtin): Update signature.
	Dereference `args' directly.
	* config/xtensa/xtensa (xtensa_fold_builtin): Likewise.

From-SVN: r159585
2010-05-19 16:23:27 +00:00
Rainer Orth 40f1bdd962 sourcebuild.texi (Effective-Target Keywords): Document 3dnow, sse3, sse2.
gcc:
	* doc/sourcebuild.texi (Effective-Target Keywords): Document
	3dnow, sse3, sse2.
	(Directives): Document optional	dg-require-effective-target
	selector.

	gcc/testsuite:
	* lib/target-supports.exp (check_effective_target_sse2): New proc.
	* lib/target-supports-dg.exp (dg-require-effective-target): Allow
	for optional selector.
	* gcc.target/i386/i386.exp (check_effective_target_3dnow): New proc.
	(check_effective_target_sse3): New proc.
	* gcc.target/i386/math-torture/math-torture.exp: Load
	target-supports.exp.
	Only add options with -msse2 to MATH_TORTURE_OPTIONS if
	check_effective_target_sse2.
	* gcc.dg/vect/vect.exp: Return unless check_effective_target_sse2.
	* gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise.
	* g++.dg/vect/vect.exp: Likewise.
	* gfortran.dg/vect/vect.exp: Likewise.
	* lib/fortran-torture.exp (get-fortran-torture-options): Only use
	-msse2 if check_effective_target_sse2.

	* gcc.target/i386/3dnow-1.c: Use dg-require-effective-target 3dnow.
	* gcc.target/i386/3dnow-2.c: Likewise.
	* gcc.target/i386/3dnowA-1.c: Likewise.
	* gcc.target/i386/3dnowA-2.c: Likewise.
	* gcc.target/i386/pr42549.c: Likewise.

	* gcc.target/i386/sse3-addsubpd.c: Use dg-require-effective-target sse3.
	* gcc.target/i386/sse3-addsubps.c: Likewise.
	* gcc.target/i386/sse3-haddpd.c: Likewise.
	* gcc.target/i386/sse3-haddps.c: Likewise.
	* gcc.target/i386/sse3-hsubpd.c: Likewise.
	* gcc.target/i386/sse3-hsubps.c: Likewise.
	* gcc.target/i386/sse3-lddqu.c: Likewise.
	* gcc.target/i386/sse3-movddup.c: Likewise.
	* gcc.target/i386/sse3-movshdup.c: Likewise.
	* gcc.target/i386/sse3-movsldup.c: Likewise.

	* g++.dg/abi/mangle42.C: Use dg-require-effective-target sse2.
	* g++.dg/ext/attrib35.C: Likewise.
	* g++.dg/opt/pr40496.C: Likewise.
	* g++.dg/other/i386-1.C: Likewise.
	* g++.dg/other/i386-4.C: Likewise.
	* g++.dg/other/pr34435.C: Likewise.
	* g++.dg/other/pr39496.C: Likewise.
	* g++.dg/other/pr40446.C: Likewise.
	* gcc.dg/compat/union-m128-1_main.c: Likewise.
	* gcc.dg/compat/vector-1a_main.c: Likewise.
	* gcc.dg/compat/vector-2a_main.c: Likewise.
	* gcc.dg/lto/20090206-1_0.c: Likewise.
	* gcc.dg/pr34856.c: Likewise.
	* gcc.dg/pr36584.c: Likewise.
	* gcc.dg/pr36997.c: Likewise.  Adapt dg-message line number.
	* gcc.dg/pr37544.c: Likewise.
	* gcc.dg/torture/pr16104-1.c: Likewise.
	* gcc.dg/torture/pr35771-1.c: Likewise.
	* gcc.dg/torture/pr35771-2.c: Likewise.
	* gcc.dg/torture/pr35771-3.c: Likewise.
	* gcc.dg/torture/stackalign/alloca-2.c: Likewise.
	* gcc.dg/torture/stackalign/alloca-3.c: Likewise.
	* gcc.dg/torture/stackalign/push-1.c: Likewise.
	* gcc.dg/torture/stackalign/vararg-3.c: Likewise.
	* gcc.dg/tree-ssa/prefetch-6.c: Likewise.
	* gcc.dg/tree-ssa/prefetch-7.c: Likewise.
	* gcc.dg/vect/vect-debug-pr41926.c: Likewise.
	* gcc.target/i386/20060512-1.c: Likewise.
	* gcc.target/i386/20060512-3.c: Likewise.
	* gcc.target/i386/all_one_m128i.c: Likewise.
	* gcc.target/i386/float128-1.c: Likewise.
	* gcc.target/i386/float128-2.c: Likewise.
	* gcc.target/i386/fpcvt-1.c: Likewise.
	* gcc.target/i386/fpcvt-2.c: Likewise.
	* gcc.target/i386/fpcvt-3.c: Likewise.
	* gcc.target/i386/fpprec-1.c: Likewise.
	* gcc.target/i386/funcspec-9.c: Likewise.
	* gcc.target/i386/incoming-1.c: Likewise.
	* gcc.target/i386/incoming-12.c: Likewise.
	* gcc.target/i386/incoming-2.c: Likewise.
	* gcc.target/i386/incoming-3.c: Likewise.
	* gcc.target/i386/incoming-4.c: Likewise.
	* gcc.target/i386/incoming-6.c: Likewise.
	* gcc.target/i386/incoming-7.c: Likewise.
	* gcc.target/i386/incoming-8.c: Likewise.
	* gcc.target/i386/opt-1.c: Likewise.
	* gcc.target/i386/opt-2.c: Likewise.
	* gcc.target/i386/ordcmp-1.c: Likewise.
	* gcc.target/i386/pr17692.c: Likewise.
	* gcc.target/i386/pr18614-1.c: Likewise.
	* gcc.target/i386/pr22152.c: Likewise.
	* gcc.target/i386/pr23570.c: Likewise.
	* gcc.target/i386/pr23575.c: Likewise.
	* gcc.target/i386/pr26449-1.c: Likewise.
	* gcc.target/i386/pr26600.c: Likewise.
	* gcc.target/i386/pr27790.c: Likewise.
	* gcc.target/i386/pr28839.c: Likewise.
	* gcc.target/i386/pr30970.c: Likewise.
	* gcc.target/i386/pr32000-1.c: Likewise.
	* gcc.target/i386/pr32000-2.c: Likewise.
	* gcc.target/i386/pr32280.c: Likewise.
	* gcc.target/i386/pr32661.c: Likewise.
	* gcc.target/i386/pr32708-1.c: Likewise.
	* gcc.target/i386/pr32961.c: Likewise.
	* gcc.target/i386/pr33329.c: Likewise.
	* gcc.target/i386/pr35714.c: Likewise.
	* gcc.target/i386/pr35767-1.c: Likewise.
	* gcc.target/i386/pr35767-1d.c: Likewise.
	* gcc.target/i386/pr35767-1i.c: Likewise.
	* gcc.target/i386/pr35767-2.c: Likewise.
	* gcc.target/i386/pr35767-2d.c: Likewise.
	* gcc.target/i386/pr35767-2i.c: Likewise.
	* gcc.target/i386/pr35767-3.c: Likewise.
	* gcc.target/i386/pr35767-5.c: Likewise.
	* gcc.target/i386/pr36222-1.c: Likewise.
	* gcc.target/i386/pr36578-1.c: Likewise.
	* gcc.target/i386/pr36578-2.c: Likewise.
	* gcc.target/i386/pr36992-1.c: Likewise.
	* gcc.target/i386/pr37101.c: Likewise.
	* gcc.target/i386/pr37216.c: Likewise.
	* gcc.target/i386/pr37434-1.c: Likewise.
	* gcc.target/i386/pr37434-2.c: Likewise.
	* gcc.target/i386/pr37843-3.c: Likewise.
	* gcc.target/i386/pr37843-4.c: Likewise.
	* gcc.target/i386/pr39162.c: Likewise.
	* gcc.target/i386/pr39315-1.c: Likewise.
	* gcc.target/i386/pr39315-2.c: Likewise.
	* gcc.target/i386/pr39315-3.c: Likewise.
	* gcc.target/i386/pr39315-4.c: Likewise.
	* gcc.target/i386/pr39445.c: Likewise.
	* gcc.target/i386/pr39496.c: Likewise.
	* gcc.target/i386/pr40809.c: Likewise.
	* gcc.target/i386/pr40906-3.c: Likewise.
	* gcc.target/i386/pr41019.c: Likewise.
	* gcc.target/i386/pr42542-1.c: Likewise.
	* gcc.target/i386/pr42542-2.c: Likewise.
	* gcc.target/i386/pr42542-3.c: Likewise.
	* gcc.target/i386/pr42542-3a.c: Likewise.
	* gcc.target/i386/pr42881.c: Likewise.
	* gcc.target/i386/push-1.c: Likewise.
	* gcc.target/i386/quad-sse.c: Likewise.
	* gcc.target/i386/reload-1.c: Likewise.
	* gcc.target/i386/sse-10.c: Likewise.
	* gcc.target/i386/sse-11.c: Likewise.
	* gcc.target/i386/sse-15.c: Likewise.
	* gcc.target/i386/sse-17.c: Likewise.
	* gcc.target/i386/sse-18.c: Likewise.
	* gcc.target/i386/sse-19.c: Likewise.
	* gcc.target/i386/sse-4.c: Likewise.
	* gcc.target/i386/sse-6.c: Likewise.
	* gcc.target/i386/sse-vect-types.c: Likewise.
	* gcc.target/i386/sse2-addpd-1.c: Likewise.
	* gcc.target/i386/sse2-addsd-1.c: Likewise.
	* gcc.target/i386/sse2-andnpd-1.c: Likewise.
	* gcc.target/i386/sse2-andpd-1.c: Likewise.
	* gcc.target/i386/sse2-cmpsd-1.c: Likewise.
	* gcc.target/i386/sse2-comisd-1.c: Likewise.
	* gcc.target/i386/sse2-comisd-2.c: Likewise.
	* gcc.target/i386/sse2-comisd-3.c: Likewise.
	* gcc.target/i386/sse2-comisd-4.c: Likewise.
	* gcc.target/i386/sse2-comisd-5.c: Likewise.
	* gcc.target/i386/sse2-comisd-6.c: Likewise.
	* gcc.target/i386/sse2-copysign-vec.c: Likewise.
	* gcc.target/i386/sse2-cvtdq2pd-1.c: Likewise.
	* gcc.target/i386/sse2-cvtdq2ps-1.c: Likewise.
	* gcc.target/i386/sse2-cvtpd2dq-1.c: Likewise.
	* gcc.target/i386/sse2-cvtpd2ps-1.c: Likewise.
	* gcc.target/i386/sse2-cvtps2dq-1.c: Likewise.
	* gcc.target/i386/sse2-cvtps2pd-1.c: Likewise.
	* gcc.target/i386/sse2-cvtsd2si-1.c: Likewise.
	* gcc.target/i386/sse2-cvtsd2si-2.c: Likewise.
	* gcc.target/i386/sse2-cvtsd2ss-1.c: Likewise.
	* gcc.target/i386/sse2-cvtsi2sd-1.c: Likewise.
	* gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise.
	* gcc.target/i386/sse2-cvtss2sd-1.c: Likewise.
	* gcc.target/i386/sse2-cvttpd2dq-1.c: Likewise.
	* gcc.target/i386/sse2-cvttps2dq-1.c: Likewise.
	* gcc.target/i386/sse2-cvttsd2si-1.c: Likewise.
	* gcc.target/i386/sse2-cvttsd2si-2.c: Likewise.
	* gcc.target/i386/sse2-divpd-1.c: Likewise.
	* gcc.target/i386/sse2-divsd-1.c: Likewise.
	* gcc.target/i386/sse2-init-v16qi-1.c: Likewise.
	* gcc.target/i386/sse2-init-v2di-1.c: Likewise.
	* gcc.target/i386/sse2-init-v4si-1.c: Likewise.
	* gcc.target/i386/sse2-init-v8hi-1.c: Likewise.
	* gcc.target/i386/sse2-lrint-vec.c: Likewise.
	* gcc.target/i386/sse2-lrintf-vec.c: Likewise.
	* gcc.target/i386/sse2-maxpd-1.c: Likewise.
	* gcc.target/i386/sse2-maxsd-1.c: Likewise.
	* gcc.target/i386/sse2-minpd-1.c: Likewise.
	* gcc.target/i386/sse2-minsd-1.c: Likewise.
	* gcc.target/i386/sse2-mmx.c: Likewise.
	* gcc.target/i386/sse2-movapd-1.c: Likewise.
	* gcc.target/i386/sse2-movapd-2.c: Likewise.
	* gcc.target/i386/sse2-movd-1.c: Likewise.
	* gcc.target/i386/sse2-movd-2.c: Likewise.
	* gcc.target/i386/sse2-movdqa-1.c: Likewise.
	* gcc.target/i386/sse2-movdqa-2.c: Likewise.
	* gcc.target/i386/sse2-movdqu-1.c: Likewise.
	* gcc.target/i386/sse2-movdqu-2.c: Likewise.
	* gcc.target/i386/sse2-movhpd-1.c: Likewise.
	* gcc.target/i386/sse2-movhpd-2.c: Likewise.
	* gcc.target/i386/sse2-movlpd-1.c: Likewise.
	* gcc.target/i386/sse2-movlpd-2.c: Likewise.
	* gcc.target/i386/sse2-movmskpd-1.c: Likewise.
	* gcc.target/i386/sse2-movntdq-1.c: Likewise.
	* gcc.target/i386/sse2-movntpd-1.c: Likewise.
	* gcc.target/i386/sse2-movq-1.c: Likewise.
	* gcc.target/i386/sse2-movq-2.c: Likewise.
	* gcc.target/i386/sse2-movq-3.c: Likewise.
	* gcc.target/i386/sse2-movsd-1.c: Likewise.
	* gcc.target/i386/sse2-movsd-2.c: Likewise.
	* gcc.target/i386/sse2-movupd-1.c: Likewise.
	* gcc.target/i386/sse2-movupd-2.c: Likewise.
	* gcc.target/i386/sse2-mulpd-1.c: Likewise.
	* gcc.target/i386/sse2-mulsd-1.c: Likewise.
	* gcc.target/i386/sse2-orpd-1.c: Likewise.
	* gcc.target/i386/sse2-packssdw-1.c: Likewise.
	* gcc.target/i386/sse2-packsswb-1.c: Likewise.
	* gcc.target/i386/sse2-packuswb-1.c: Likewise.
	* gcc.target/i386/sse2-paddb-1.c: Likewise.
	* gcc.target/i386/sse2-paddd-1.c: Likewise.
	* gcc.target/i386/sse2-paddq-1.c: Likewise.
	* gcc.target/i386/sse2-paddsb-1.c: Likewise.
	* gcc.target/i386/sse2-paddsw-1.c: Likewise.
	* gcc.target/i386/sse2-paddusb-1.c: Likewise.
	* gcc.target/i386/sse2-paddusw-1.c: Likewise.
	* gcc.target/i386/sse2-paddw-1.c: Likewise.
	* gcc.target/i386/sse2-pand-1.c: Likewise.
	* gcc.target/i386/sse2-pandn-1.c: Likewise.
	* gcc.target/i386/sse2-pavgb-1.c: Likewise.
	* gcc.target/i386/sse2-pavgw-1.c: Likewise.
	* gcc.target/i386/sse2-pcmpeqb-1.c: Likewise.
	* gcc.target/i386/sse2-pcmpeqd-1.c: Likewise.
	* gcc.target/i386/sse2-pcmpeqw-1.c: Likewise.
	* gcc.target/i386/sse2-pcmpgtb-1.c: Likewise.
	* gcc.target/i386/sse2-pcmpgtd-1.c: Likewise.
	* gcc.target/i386/sse2-pcmpgtw-1.c: Likewise.
	* gcc.target/i386/sse2-pmaddwd-1.c: Likewise.
	* gcc.target/i386/sse2-pmaxsw-1.c: Likewise.
	* gcc.target/i386/sse2-pmaxub-1.c: Likewise.
	* gcc.target/i386/sse2-pminsw-1.c: Likewise.
	* gcc.target/i386/sse2-pminub-1.c: Likewise.
	* gcc.target/i386/sse2-pmovmskb-1.c: Likewise.
	* gcc.target/i386/sse2-pmulhuw-1.c: Likewise.
	* gcc.target/i386/sse2-pmulhw-1.c: Likewise.
	* gcc.target/i386/sse2-pmullw-1.c: Likewise.
	* gcc.target/i386/sse2-pmuludq-1.c: Likewise.
	* gcc.target/i386/sse2-por-1.c: Likewise.
	* gcc.target/i386/sse2-psadbw-1.c: Likewise.
	* gcc.target/i386/sse2-pshufd-1.c: Likewise.
	* gcc.target/i386/sse2-pshufhw-1.c: Likewise.
	* gcc.target/i386/sse2-pshuflw-1.c: Likewise.
	* gcc.target/i386/sse2-pslld-1.c: Likewise.
	* gcc.target/i386/sse2-pslld-2.c: Likewise.
	* gcc.target/i386/sse2-pslldq-1.c: Likewise.
	* gcc.target/i386/sse2-psllq-1.c: Likewise.
	* gcc.target/i386/sse2-psllq-2.c: Likewise.
	* gcc.target/i386/sse2-psllw-1.c: Likewise.
	* gcc.target/i386/sse2-psllw-2.c: Likewise.
	* gcc.target/i386/sse2-psrad-1.c: Likewise.
	* gcc.target/i386/sse2-psrad-2.c: Likewise.
	* gcc.target/i386/sse2-psraw-1.c: Likewise.
	* gcc.target/i386/sse2-psraw-2.c: Likewise.
	* gcc.target/i386/sse2-psrld-1.c: Likewise.
	* gcc.target/i386/sse2-psrld-2.c: Likewise.
	* gcc.target/i386/sse2-psrldq-1.c: Likewise.
	* gcc.target/i386/sse2-psrlq-1.c: Likewise.
	* gcc.target/i386/sse2-psrlq-2.c: Likewise.
	* gcc.target/i386/sse2-psrlw-1.c: Likewise.
	* gcc.target/i386/sse2-psrlw-2.c: Likewise.
	* gcc.target/i386/sse2-psubb-1.c: Likewise.
	* gcc.target/i386/sse2-psubd-1.c: Likewise.
	* gcc.target/i386/sse2-psubq-1.c: Likewise.
	* gcc.target/i386/sse2-psubsb-1.c: Likewise.
	* gcc.target/i386/sse2-psubsw-1.c: Likewise.
	* gcc.target/i386/sse2-psubw-1.c: Likewise.
	* gcc.target/i386/sse2-punpckhbw-1.c: Likewise.
	* gcc.target/i386/sse2-punpckhdq-1.c: Likewise.
	* gcc.target/i386/sse2-punpckhqdq-1.c: Likewise.
	* gcc.target/i386/sse2-punpckhwd-1.c: Likewise.
	* gcc.target/i386/sse2-punpcklbw-1.c: Likewise.
	* gcc.target/i386/sse2-punpckldq-1.c: Likewise.
	* gcc.target/i386/sse2-punpcklqdq-1.c: Likewise.
	* gcc.target/i386/sse2-punpcklwd-1.c: Likewise.
	* gcc.target/i386/sse2-pxor-1.c: Likewise.
	* gcc.target/i386/sse2-set-epi32-1.c: Likewise.
	* gcc.target/i386/sse2-set-epi64x-1.c: Likewise.
	* gcc.target/i386/sse2-set-v16qi-1.c: Likewise.
	* gcc.target/i386/sse2-set-v16qi-2.c: Likewise.
	* gcc.target/i386/sse2-set-v16qi-3.c: Likewise.
	* gcc.target/i386/sse2-set-v8hi-1.c: Likewise.
	* gcc.target/i386/sse2-set-v8hi-1a.c: Likewise.
	* gcc.target/i386/sse2-set-v8hi-2.c: Likewise.
	* gcc.target/i386/sse2-set-v8hi-2a.c: Likewise.
	* gcc.target/i386/sse2-shufpd-1.c: Likewise.
	* gcc.target/i386/sse2-shufps-1.c: Likewise.
	* gcc.target/i386/sse2-sqrtpd-1.c: Likewise.
	* gcc.target/i386/sse2-subpd-1.c: Likewise.
	* gcc.target/i386/sse2-subsd-1.c: Likewise.
	* gcc.target/i386/sse2-ucomisd-1.c: Likewise.
	* gcc.target/i386/sse2-ucomisd-2.c: Likewise.
	* gcc.target/i386/sse2-ucomisd-3.c: Likewise.
	* gcc.target/i386/sse2-ucomisd-4.c: Likewise.
	* gcc.target/i386/sse2-ucomisd-5.c: Likewise.
	* gcc.target/i386/sse2-ucomisd-6.c: Likewise.
	* gcc.target/i386/sse2-unpack-1.c: Likewise.
	* gcc.target/i386/sse2-unpckhpd-1.c: Likewise.
	* gcc.target/i386/sse2-unpcklpd-1.c: Likewise.
	* gcc.target/i386/sse2-vec-1.c: Likewise.
	* gcc.target/i386/sse2-vec-2.c: Likewise.
	* gcc.target/i386/sse2-vec-3.c: Likewise.
	* gcc.target/i386/sse2-vec-4.c: Likewise.
	* gcc.target/i386/sse2-vec-5.c: Likewise.
	* gcc.target/i386/sse2-vec-6.c: Likewise.
	* gcc.target/i386/sse2-xorpd-1.c: Likewise.
	* gcc.target/i386/ssefn-2.c: Likewise.
	* gcc.target/i386/ssefn-4.c: Likewise.
	* gcc.target/i386/ssefp-1.c: Likewise.
	* gcc.target/i386/ssefp-2.c: Likewise.
	* gcc.target/i386/sseregparm-3.c: Likewise.
	* gcc.target/i386/sseregparm-4.c: Likewise.
	* gcc.target/i386/sseregparm-5.c: Likewise.
	* gcc.target/i386/sseregparm-6.c: Likewise.
	* gcc.target/i386/sseregparm-7.c: Likewise.
	* gcc.target/i386/ssetype-1.c: Likewise.
	* gcc.target/i386/ssetype-2.c: Likewise.
	* gcc.target/i386/ssetype-3.c: Likewise.
	* gcc.target/i386/ssetype-4.c: Likewise.
	* gcc.target/i386/ssetype-5.c: Likewise.
	* gcc.target/i386/unordcmp-1.c: Likewise.
	* gcc.target/i386/vararg-1.c: Likewise.
	* gcc.target/i386/vararg-2.c: Likewise.
	* gcc.target/i386/vararg-3.c: Likewise.
	* gcc.target/i386/vararg-4.c: Likewise.
	* gcc.target/i386/vararg-7.c: Likewise.
	* gcc.target/i386/vararg-8.c: Likewise.
	* gcc.target/i386/vecinit-1.c: Likewise.
	* gcc.target/i386/vecinit-2.c: Likewise.
	* gcc.target/i386/vecinit-3.c: Likewise.
	* gcc.target/i386/vecinit-4.c: Likewise.
	* gcc.target/i386/vecinit-5.c: Likewise.
	* gcc.target/i386/vecinit-6.c: Likewise.
	* gcc.target/i386/vectorize2.c: Likewise.
	* gcc.target/i386/vectorize3.c: Likewise.
	* gcc.target/i386/vectorize4.c: Likewise.
	* gcc.target/i386/vectorize6.c: Likewise.
	* gcc.target/i386/vectorize7.c: Likewise.
	* gcc.target/i386/vectorize8.c: Likewise.
	* gcc.target/i386/vperm-v2df.c: Likewise.
	* gcc.target/i386/vperm-v2di.c: Likewise.
	* gcc.target/i386/vperm-v4si-1.c: Likewise.
	* gcc.target/i386/xorps-sse2.c: Likewise.
	* gcc.target/i386/xorps.c: Likewise.
	* gfortran.dg/graphite/pr42326-1.f90: Likewise.
	* gfortran.dg/graphite/pr42326.f90: Likewise.
	* gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise.

From-SVN: r159584
2010-05-19 16:10:05 +00:00
Richard Guenther 817c299606 re PR lto/44196 (lto1: ICE: tree check: expected field_decl, have type_decl in gimple_types_compatible_p, at gimple.c:3597)
2010-05-19  Richard Guenther  <rguenther@suse.de>

	PR lto/44196
	* tree.c (find_decls_types_r): Walk BLOCKs and its vars.

	* g++.dg/lto/20100519-1_0.C: New testcase.

From-SVN: r159582
2010-05-19 15:57:17 +00:00
Richard Guenther c04b6b3823 invoke.texi (-fwhopr): Document new optional jobs argument.
2010-05-19  Richard Guenther  <rguenther@suse.de>

	* doc/invoke.texi (-fwhopr): Document new optional jobs argument.
	* common.opt (fwhopr=): New.
	* opts.c (common_handle_option): Handle OPT_fwhopr.
	* gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
	* collect2.c (main): Match -fwhopr*.
	* lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
	Execute ltrans stage in parallel when jobs is bigger than 1.

From-SVN: r159573
2010-05-19 15:43:22 +00:00
Rainer Orth d416abb494 configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as output, too.
* configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
	output, too.
	(libffi_cv_as_ascii_pseudo_op): Check for .ascii.
	(libffi_cv_as_string_pseudo_op): Check for .string.
	* configure: Regenerate.
	* fficonfig.h.in: Regenerate.
	* src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.

From-SVN: r159570
2010-05-19 15:31:36 +00:00
Rainer Orth ed1041376a sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun assembler syntax.
libgcc:
	* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
	assembler syntax.

	gcc:
	* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
	pentiumpro on Solaris 8/x86 with Sun as.
	* configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
	hidden alias bug.
	(gcc_cv_as_ix86_quad): Check for .quad directive.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.

From-SVN: r159569
2010-05-19 15:31:00 +00:00
Daniel Franke 16e520b612 re PR fortran/42360 (intent(out)-dummy-not-set warning for types depends on order of component initializers)
gcc/fortran/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/42360
	* gfortran.h (gfc_has_default_initializer): New.
	* expr.c (gfc_has_default_initializer): New.
	* resolve.c (has_default_initializer): Removed, use
	gfc_has_default_initializer() instead. Updated all callers.
	* trans-array.c (has_default_initializer): Removed, use
	gfc_has_default_initializer() instead. Updated all callers.
	* trans-decl.c (generate_local_decl): Do not check the
	first component only to check for initializers, but use
	gfc_has_default_initializer() instead.

gcc/testsuite/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/42360
	* gfortran.dg/warn_intent_out_not_set.f90: New.

From-SVN: r159562
2010-05-19 09:07:25 -04:00
Daniel Franke 66faed7643 re PR fortran/38404 (Warning message identifies incorrect line)
gcc/fortran/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/38404
	* primary.c (match_string_constant): Move start_locus just inside 
	the string.
	* data.c (create_character_intializer): Clarified truncation warning.

gcc/testsuite/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/38404
	* gfortran.dg/data_char_1.f90: Updated warning message.
	* gfortran.dg/data_array_6.f: New.

From-SVN: r159561
2010-05-19 08:55:26 -04:00
Martin Jambor 749aa96dab ipa-prop.c (ipa_print_node_jump_functions): Print jump functions also for indirect edges.
2010-05-19  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
	also for indirect edges.  Actual printing moved...
	(ipa_print_node_jump_functions_for_edge): ...here.
	(ipa_compute_jump_functions): Renamed to
	ipa_compute_jump_functions_for_edge and made static.
	(ipa_compute_jump_functions): New function.
	(make_edge_direct_to_target): Check if the number of arguments on
	the newly direct edge is the same as the number of parametrs of
	the callee.
	* ipa-cp.c (ipcp_init_stage): Most functionality moved to new
	ipa_compute_jump_functions.  Call ipa_analyze_params_uses.
	* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
	analysis functions unconditionally, call the new
	ipa_analyze_params_uses on the node instead of every edge.

	* testsuite/g++.dg/ipa/ivinline-8.C: New test.
	* testsuite/gcc.dg/ipa/iinline-2.c: New test.

From-SVN: r159559
2010-05-19 13:49:36 +02:00