Commit Graph

108448 Commits

Author SHA1 Message Date
Ollie Wild
95c952c532 sso_string_base.h (__sso_string_base<>::_M_construct): Fix unqualified lookup.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_construct):
	Fix unqualified lookup.
	(__sso_string_base<>::_M_construct): Likewise.
	(__sso_string_base<>::_M_construct): Likewise.
	(__sso_string_base<>::_M_assign): Likewise.
	(__sso_string_base<>::_M_reserve): Likewise.
	(__sso_string_base<>::_M_mutate): Likewise.
	(__sso_string_base<>::_M_erase): Likewise.
	* include/ext/vstring.h (__versa_string<>::replace): Likewise.
	(__versa_string<>::compare): Likewise.
	* include/ext/vstring.tcc (__versa_string<>::compare): Likewise.
	(__versa_string<>::compare): Likewise.
	(__versa_string<>::compare): Likewise.
	(__versa_string<>::compare): Likewise.
	(__versa_string<>::compare): Likewise.

From-SVN: r173257
2011-05-02 16:25:14 +00:00
Joseph Myers
47c94d21e4 gcc_update (gcc/config/m68k/m68k-tables.opt): New dependencies.
contrib:
	* gcc_update (gcc/config/m68k/m68k-tables.opt): New dependencies.

gcc:
	* config/m68k/genopt.sh, config/m68k/m68k-isas.def,
	config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h,
	config/m68k/t-opts: New files.
	* config/m68k/m68k-tables.opt: New file (generated).
	* config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to
	extra_options and m68k/t-opts to tmake_file.
	* config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt.
	(all_isas): Initialize using m68k-isas.def.
	(all_microarchs): Initialize using m68k-microarchs.def.
	(m68k_find_selection): Remove.
	(m68k_handle_option): Don't assert that global structures are in
	use.  Use error_at.  Access variables via opts pointer.  Don't
	handle -march=, -mcpu= and -mtune= here.  Set gcc_options fields
	directly for -m68020-40 and -m68020-60.
	(m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and
	m68k_tune_entry here.
	* config/m68k/m68k.h (enum uarch_type, enum target_device): Move
	to m68k-opts.h.
	(m68k_library_id_string): Remove declaration.
	* config/m68k/m68k.opt (config/m68k/m68k-opts.h): New
	HeaderInclude.
	(m68k_library_id_string): New Variable.
	(march=, mcpu=, mtune=): Use Enum and Var.

From-SVN: r173256
2011-05-02 16:42:39 +01:00
Richard Guenther
e562bf36b6 varasm.c (output_constructor_regular_field): Compute zero-based index with double-ints.
2011-05-02  Richard Guenther  <rguenther@suse.de>

	* varasm.c (output_constructor_regular_field): Compute zero-based
	index with double-ints.  Make sure to ICE instead of producing
	wrong code.
	* cgraph.c (cgraph_add_thunk): Do not create new tree nodes
	in asserts.  Properly use a signed type.

From-SVN: r173255
2011-05-02 15:22:54 +00:00
Uros Bizjak
6bec6c9897 sse.md (V): New mode iterator.
* config/i386/sse.md (V): New mode iterator.
	(V_128): Rename from SSEMODE.  Make V2DF mode conditional on
	TARGET_SSE2.
	(V_256): Rename from AVX256MODE.
	(VF): Make V4SF mode unconditional.  Add TARGET_SSE instruction
	condition to all users.
	(VF1): Ditto.
	(VF2): Make V2DF mode unconditional.  Add TARGET_SSE2 instruction
	condition to all users.
	(VF_128): Make V4SF mode unconditional.
	(VF_256): Rename from AVX256MODEF2P.
	(VI4F_128): Rename from SSEMODE4S.
	(VI8F_128): Rename from SSEMODE2D.
	(VI4F_256): Rename from AVX256MODE8P.
	(VI8F_256): Rename from AVX256MODE4P.
	(avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes.
	(ssescalarmodesuffix): Remove SF and DF modes.
	(SSEMODE124): Remove.
	(SSEMODE1248): Ditto.
	(SSEMODEF2P): Ditto.
	(AVXMODEF2P): Ditto.
	(AVXMODEFDP): Ditto.
	(AVXMODEFSP): Ditto.
	(VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes
	unconditional.
	(VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO.  Make V4SF mode
	unconditional.
	(xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and
	xop_pcmov_<mode>256.  Use V mode iterator.

	Adjust RTX patterns globally for renamed mode attributes.

From-SVN: r173253
2011-05-02 16:10:05 +02:00
Ulrich Weigand
2dfdcb4beb haifa-sched.c (sched_emit_insn): Emit insn before first non-scheduled insn.
* haifa-sched.c (sched_emit_insn): Emit insn before first
	non-scheduled insn.  Inform back-end about new insn.  Add
	new insn to scheduled_insns list.

From-SVN: r173251
2011-05-02 13:16:55 +00:00
Richard Guenther
90bc462321 re PR tree-optimization/48822 (G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.)
2011-05-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/48822
	* tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
	(process_scc): Indicate which iteration we start.

	* gcc.dg/torture/pr48822.c: New testcase.

From-SVN: r173250
2011-05-02 13:11:27 +00:00
Paolo Carlini
9fd15228e2 re PR c++/47969 ([C++0x] ICE: SIGSEGV in compute_array_index_type (cp/decl.c:7522))
/cp
2011-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/47969
	* decl.c (compute_array_index_type): Check build_expr_type_conversion
	return value for NULL_TREE.

/testsuite
2011-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/47969
	* g++.dg/cpp0x/constexpr-47969.C: New.

From-SVN: r173249
2011-05-02 12:44:15 +00:00
Jan Hubicka
bc0fe8cb2a lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
* lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
	(lto_section_overrun): New.
	* lto-section-out.c (append_block): Rename to ...
	(lto_append_block): ... this one; export.
	(lto_output_1_stream): Move lto lto-streamer.h
	(lto_output_data_stream): Update.
	* lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
	(lto_output_1_stream, lto_input_1_unsigned): Turn into inline
	functions.

From-SVN: r173247
2011-05-02 12:37:13 +00:00
Ira Rosen
d12530b543 re PR testsuite/48498 (Several gcc.dg/vect tests XPASS on SPARC)
PR testsuite/48498
	* gcc.dg/vect/slp-3.c: Increase loop bound.  Don't expect to fail
	on vect_no_align targets.
	* gcc.dg/vect/no-vfa-pr29145.c: Don't expect to fail on
	vect_no_align targets.

From-SVN: r173245
2011-05-02 11:13:26 +00:00
Richard Guenther
f070a9d108 tree.c (tree_code_counts): New global array.
2011-05-02  Richard Guenther  <rguenther@suse.de>

	* tree.c (tree_code_counts): New global array.
	(record_node_allocation_statistics): Count individual tree codes.
	(dump_tree_statistics): Dump individual code stats.

From-SVN: r173244
2011-05-02 11:12:26 +00:00
Jonathan Wakely
65bdd626be status_cxx200x.xml: Update to reflect current status and FDIS content.
2011-05-02  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/status_cxx200x.xml: Update to reflect current status
	and FDIS content.
	* doc/xml/manual/documentation_hacking.xml: Fix typo.
	* doc/html/*: Regenerate.

From-SVN: r173243
2011-05-02 11:39:15 +01:00
Xinliang David Li
b038e4379c new tests
From-SVN: r173242
2011-05-02 05:30:59 +00:00
GCC Administrator
5bfa2178f2 Daily bump.
From-SVN: r173240
2011-05-02 00:19:15 +00:00
Jan Hubicka
09dfe187f0 ipa-inline.c (caller_growth_limits): Fix thinko when
* ipa-inline.c (caller_growth_limits): Fix thinko when
	* ipa-inline.c (caller_growth_limits): Fix thinko when
	looking for largest stack frame.
	* ipa-inline.h (dump_inline_summary): Declare.
	* ipa-inline-analysis.c (dump_inline_edge_summary): Dump info
	on stack usage.
	(dump_inline_summary): Export.
	(debug_inline_summary): Declare as DEBUG_FUNCTION.

From-SVN: r173234
2011-05-01 19:11:07 +00:00
Jerry DeLisle
12c0e3856b re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
2011-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48787
	* gfortran.dg/round_3.f08: Add more checks.

From-SVN: r173233
2011-05-01 12:37:05 +00:00
Anatoly Sokolov
6f76a8788e reginfo.c (memory_move_cost): Change rclass argument type form 'enum reg_class' to reg_class_t.
* reginfo.c (memory_move_cost): Change rclass argument type form
	'enum reg_class' to reg_class_t.
	* reload.h (memory_move_cost): Update prototype.
	* postreload.c reload_cse_simplify_set): Change type dclass var to
	reg_class_t.
	* ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
	Update prototype.
	(ira_allocate_and_set_costs): Change aclass argument type form
	'enum reg_class' to reg_class_t.
	* ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector): 
	Change aclass argument type to reg_class_t.
	(update_conflict_hard_reg_costs): Change type aclass and pref vars
	to reg_class_t.
	* gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
	memory_move_cost call.

	* config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
	'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
	Change type tmp var to reg_class_t.

From-SVN: r173232
2011-05-01 16:33:13 +04:00
Jerry DeLisle
7c4f44cd60 re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
2011-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48787
	* io/write_float.def (output_float): Gather up integer declarations and
	add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference
	everywhere. For ROUND_UP scan the digit string and only perform
	rounding if something other than '0' is found.

From-SVN: r173231
2011-05-01 12:32:18 +00:00
GCC Administrator
5a76c853a8 Daily bump.
From-SVN: r173229
2011-05-01 00:18:21 +00:00
Eric Botcazou
4fb87d2b24 gnatvsn.ads (Library_Version): Bump to 4.7.
* gnatvsn.ads (Library_Version): Bump to 4.7.
	(Current_Year): Bump to 2011.

From-SVN: r173224
2011-04-30 21:16:34 +00:00
Thomas Koenig
03cf983766 dump-prase-tree.c (show_code_node): Set the current namespace to the BLOCK before displaying it; restore afterwards.
2011-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* dump-prase-tree.c (show_code_node):  Set the current
	namespace to the BLOCK before displaying it; restore
	afterwards.

From-SVN: r173223
2011-04-30 21:13:44 +00:00
Paolo Carlini
2c7a09d774 [multiple changes]
2011-04-30  Daniel Krugler  <daniel.kruegler@googlemail.com>

	* include/std/type_traits (__is_default_constructible_atom,
	__is_default_constructible_safe<, true>,
	__is_direct_constructible_new_safe,
	__is_base_to_derived_ref<,, true>, __is_lvalue_to_rvalue_ref<,, true>,
	__is_direct_constructible_ref_cast, __is_direct_constructible,
	__is_nary_constructible): Simplify; add comments throughout.

2011-04-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r173222
2011-04-30 19:40:06 +00:00
Tobias Burnus
2ad7ae18f4 re PR fortran/48821 (IMPORT :: dummy_arg is rejected, while "IMPORT" imports it)
2011-04-30  Tobias Burnus  <burnus@net-b.de>
 
       PR fortran/48821
       * gfortran.dg/import9.f90: New, proper test.
       * gfortran.dg/interface_37.f90: Remove bogus
       test (bogus copy of interface_36.f90).

From-SVN: r173221
2011-04-30 18:33:47 +02:00
Doug Kwan
d5e8e6a873 Makefile.am (install-freestanding-headers): Also install cxxabi_tweaks.h.
2011-04-30  Doug Kwan  <dougkwan@google.com>

	* include/Makefile.am (install-freestanding-headers): Also install
	cxxabi_tweaks.h.
	* include/Makefile.in: Regenerate.

From-SVN: r173220
2011-04-30 16:26:23 +00:00
Tobias Burnus
4e2cf5f5f6 re PR fortran/48800 (ICE with non-allocatable/pointer deferred-shape array)
2011-04-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48800
        * decl.c (gfc_match_import): Don't try to find the
        symbol if already found.

2011-04-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48800
        * gfortran.dg/interface_37.f90: New.

From-SVN: r173219
2011-04-30 17:54:49 +02:00
Diego Novillo
2e1df0f00b cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define.
cp/ChangeLog
2011-04-29  Le-Chun Wu  <lcwu@google.com>

	* cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define.
	* call.c (build_new_function_call): Set it for TEMPLATE_ID_EXPRs.
	(build_over_call): Use it to determine whether to emit a NULL
	warning for template function instantiations.
	(build_new_method_call): Set LOOKUP_EXPLICIT_TMPL_ARGS if
	EXPLICIT_TARGS is set.

2011-04-29  Diego Novillo  <dnovillo@google.com>
	    Le-Chun Wu  <lcwu@google.com>

	* call.c (conversion_null_warnings): Also handle assignments
	when warning about NULL conversions.

testsuite/ChangeLog
2011-04-29  Le-Chun Wu  <lcwu@google.com>

	* g++.dg/warn/Wnull-conversion-1.C: New.
	* g++.dg/warn/Wnull-conversion-2.C: New.

2011-04-29  Le-Chun Wu  <lcwu@google.com>

	* g++.dg/warn/Wconversion-null-2.C: Do not expect a NULL
	  warning in implicitly instantiated templates.

2011-04-29  Diego Novillo  <dnovillo@google.com>

	* g++.old-deja/g++.other/null3.C: Expect warning about converting
	boolean to a pointer.

From-SVN: r173217
2011-04-30 11:20:58 -04:00
Jan Hubicka
9a4ac625f1 ipa-inline.c (can_inline_edge_p): Disregard limits when inlining into function with flatten attribute.
* ipa-inline.c (can_inline_edge_p): Disregard limits when
	inlining into function with flatten attribute.
	(want_inline_small_function_p): Be more realistic about inlining
	cold calls where callee size grows.

From-SVN: r173216
2011-04-30 14:08:03 +00:00
Jan Hubicka
dd8352ee7a cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor flags.
* cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor
	flags.

From-SVN: r173215
2011-04-30 14:07:06 +00:00
Paul Thomas
b972d95b2c re PR fortran/48746 (Matmul with allocate on assignment)
2011-04-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/48746
	* trans-expr.c (fcncall_realloc_result): Set the bounds and the
	offset so that the lbounds are one.
	(gfc_trans_arrayfunc_assign): Add rank to arguments of above.

2011-04-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/48746
	* gfortran.dg/realloc_on_assign_7.f03: Test bounds.

From-SVN: r173213
2011-04-30 11:46:31 +00:00
Anatoly Sokolov
46e43d2b55 sparc.h (PRINT_OPERAND, [...]): Remove.
* config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
	PRINT_OPERAND_PUNCT_VALID_P): Remove.
	* config/sparc/sparc-protos.h (print_operand): Remove declaration.
	* config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P,
	TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
	(print_operand): Rename to...
	(sparc_print_operand): ...this. Make static. Adjust
	sparc_print_operand function call.
	(sparc_print_operand_punct_valid_p, sparc_print_operand_address): New
	functions.

From-SVN: r173212
2011-04-30 15:17:56 +04:00
Jan Hubicka
ecb6256367 re PR middle-end/48752 (ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466)
PR middle-end/48752 
	* ipa-inline.c (early_inliner): Disable when doing late
	addition of function.

From-SVN: r173211
2011-04-30 11:01:26 +00:00
Jakub Jelinek
be80a87ee5 dwarf2.h (DW_OP_GNU_const_type, [...]): New.
* dwarf2.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
	DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret): New.

	* dwarf2out.c (get_address_mode): New inline.
	(mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls,
	if not dwarf_strict emit
	DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when
	desirable.  Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT,
	UNSIGNED_FLOAT, FIX and UNSIGNED_FIX.  Just return NULL for
	FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED.
	(dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor,
	dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust
	mem_loc_descriptor callers.
	(dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
	output_loc_operands_raw, hash_loc_operands, compare_loc_operands):
	Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
	DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret.
	(base_types): New variable.
	(get_base_type_offset, calc_base_type_die_sizes,
	base_type_for_mode, mark_base_types, base_type_cmp,
	move_marked_base_types): New functions.
	(calc_die_sizes): Assert that die_offset is 0 or equal to
	next_die_offset.
	(loc_descriptor): Only handle here lowpart SUBREGs of REG, for
	others defer to mem_loc_descriptor.  Adjust mem_loc_descriptor
	callers.  If not dwarf_strict, call mem_loc_descriptor even for
	non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE.
	(gen_subprogram_die): Don't give up on call site parameters
	with non-integral or large integral modes.  Adjust
	mem_loc_descriptor callers.
	(prune_unused_types): Call prune_unused_types_mark on base_types
	vector entries.
	(resolve_addr): Call mark_base_types.
	(dwarf2out_finish): Call move_marked_base_types.

From-SVN: r173210
2011-04-30 12:06:18 +02:00
Jakub Jelinek
edb9b69e57 re PR testsuite/48809 (switch statement optimization error)
PR tree-optimization/48809
	* tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
	type.
	(gen_inbound_check): Don't compute index_expr - range_min in utype
	again, instead reuse SSA_NAME initialized in build_arrays.
	Remove two useless gsi_for_stmt calls.

	* gcc.c-torture/execute/pr48809.c: New test.

From-SVN: r173207
2011-04-30 08:54:02 +02:00
Jeff Law
a6545a3d94 tree-ssa-threadedge.c (thread_across_edge): Add missing return.
* tree-ssa-threadedge.c (thread_across_edge): Add missing return.

 	* gcc.dg/tree-ssa/ssa-dom-thread-4.c: New test.

From-SVN: r173206
2011-04-29 21:46:17 -06:00
GCC Administrator
8dc7645fcb Daily bump.
From-SVN: r173204
2011-04-30 00:19:30 +00:00
Martin Jambor
af8bca3c64 cgraph.h (cgraph_postorder): Remove declaration.
2011-04-29  Martin Jambor  <mjambor@suse.cz>

	* cgraph.h (cgraph_postorder): Remove declaration.
	* ipa-utils.h (ipa_free_postorder_info): Declare.
	(ipa_reverse_postorder): Likewise.
	* cgraphunit.c: Include ipa-utils.h.
	(cgraph_expand_all_functions): Update call to ipa_reverse_postorder.
	* ipa-inline.c: Include ipa-utils.h.
	(ipa_inline): Update call to ipa_reverse_postorder.
	* ipa-pure-const.c (propagate_pure_const): Update call to
	ipa_reduced_postorder and ipa_print_order.  Call
	ipa_free_postorder_info to clean up.
	(propagate_nothrow): Likewise.
	* ipa-reference.c (propagate): Removed a useless call to
	ipa_utils_reduced_inorder, updated a call to ipa_reduced_postorder
	and ipa_print_order.  Call ipa_free_postorder_info to clean up.
	* ipa.c: Include ipa-utils.h.
	(ipa_profile): Update call to ipa_reverse_postorder.
	(cgraph_postorder): Moved to...
	* ipa-utils.c (ipa_reverse_postorder): ...here and renamed.
	(ipa_utils_print_order): Renamed to ipa_print_order.
	(ipa_utils_reduced_inorder): Renamed to ipa_reduced_postorder. Updated
	comments.
	(ipa_free_postorder_info): New function.
	* passes.c: Include ipa-utils.h.
	(do_per_function_toporder): Update call to ipa_reverse_postorder.
	(ipa_write_summaries): Likewise.

	* Makefile.in (passes.o): Add IPA_UTILS_H to dependencies.
	(cgraphunit.o): Likewise.
	(ipa.o): Likewise.
	(ipa-inline.o): Likewise.

lto/
	* lto.c: Include ipa-utils.h.
	(lto_balanced_map): Update call to ipa_reverse_postorder.
	* Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.

From-SVN: r173197
2011-04-30 01:42:15 +02:00
Paolo Carlini
48e5d11979 re PR c++/48606 (g++.dg/init/ctor9.C ICE: tree check: expected class 'type', have 'exceptional' (error_mark) with -fkeep-inline-functions)
/cp
2011-04-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48606
	* init.c (perform_member_init): Check build_value_init return
	value for error_mark_node.

/testsuite
2011-04-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48606
	* g++.dg/init/ctor10.C: New.

From-SVN: r173194
2011-04-29 22:03:40 +00:00
Jan Hubicka
b15c64ee1a inline-10.c: New testcase.
* gcc.dg/tree-ssa/inline-10.c: New testcase.
	* gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
	* ipa-inline.h (clause_t): Turn into unsigned int.
	* ipa-inline-analysis.c (add_clause): Do more simplification.
	(and_predicates): Shortcut more cases.
	(predicates_equal_p): Move forward; check that clauses are properly
	ordered.
	(or_predicates): Shortcut more cases.
	(edge_execution_predicate): Rewrite as...
	(set_cond_stmt_execution_predicate): ... this function; handle
	__builtin_constant_p.
	(set_switch_stmt_execution_predicate): New .
	(compute_bb_predicates): New.
	(will_be_nonconstant_predicate): Update TODO.
	(estimate_function_body_sizes): Use compute_bb_predicates
	and free them later, always try to estimate if stmt is constant.
	(estimate_time_after_inlining, estimate_size_after_inlining):
	Gracefully handle optimized out edges.
	(read_predicate): Fix off by one error.

From-SVN: r173190
2011-04-29 21:21:46 +00:00
Paul Thomas
7097b0410e re PR fortran/48462 (realloc on assignment: matmul Segmentation Fault with Allocatable Array)
2011-04-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/48462
	* trans-expr.c (arrayfunc_assign_needs_temporary): Deal with
	automatic reallocation when the lhs is a target.

	PR fortran/48746
	* trans-expr.c (fcncall_realloc_result): Make sure that the
	result dtype field is set before the function call.

2011-04-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/48462
	* gfortran.dg/realloc_on_assign_7.f03: Modify to test for lhs
	being a target.

	PR fortran/48746
	* gfortran.dg/realloc_on_assign_7.f03: Add subroutine pr48746.

From-SVN: r173185
2011-04-29 20:26:56 +00:00
Richard Guenther
fdf390e6c6 re PR middle-end/48819 (350 execution failures in 64-bit libjava testsuite on SPARC)
2011-04-29  Richard Guenther  <rguenther@suse.de>

	PR middle-end/48819
	* constants.c (build_constants_constructor): Use ptr_type_node for
	temp.

From-SVN: r173183
2011-04-29 19:36:12 +00:00
Ian Lance Taylor
99e5f0cee1 libgo http/cgi: Pass down environment variables for irix and solaris.
From-SVN: r173181
2011-04-29 17:53:53 +00:00
Nicola Pero
a88fdc2ac3 In gcc/: 2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-04-29  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Makefile.in (ENABLE_MAINTAINER_RULES): New.

In gcc/cp/:
2011-04-29  Nicola Pero  <nicola.pero@meta-innovation.com>,
	    Mike Stump <mikestump@comcast.net>

	* Make-lang.in ($(srcdir)/cp/cfns.h): Enable the dependency only
	in maintainer mode.  Use the --output-file option of gperf instead
	of > to prevent creating an empty cp/cfns.h when gperf is not
	available.

From-SVN: r173178
2011-04-29 17:31:51 +00:00
Xinliang David Li
d984c8ef7d use tls for ic vars
From-SVN: r173177
2011-04-29 17:13:23 +00:00
Tobias Burnus
12578be73d re PR fortran/48810 ([OOP] TPB rejected because module procedure is private)
2011-04-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48810
        * resolve.c (resolve_typebound_generic_call): Don't check access
        flags of the specific function.

        PR fortran/48800
        * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED
        to AS_ASSUMED_SHAPE for function results.
        (resolve_fl_var_and_proc): Print also for function results with
        AS_DEFERRED an error, if they are not a pointer or allocatable.
        (resolve_types): Make sure arguments of procedures in interface
        blocks are resolved.

2011-04-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48810
        * gfortran.dg/typebound_proc_22.f90: New.

        PR fortran/48800
        * gfortran.dg/interface_36.f90: New.

From-SVN: r173175
2011-04-29 18:49:53 +02:00
Janne Blomqvist
176f076f05 Whitespace fixes
From-SVN: r173173
2011-04-29 19:11:36 +03:00
Janne Blomqvist
1e03060224 Fix path handling
From-SVN: r173172
2011-04-29 19:09:45 +03:00
Janne Blomqvist
848eab5c43 PR 48488 Typo
From-SVN: r173171
2011-04-29 19:06:48 +03:00
Janne Blomqvist
ef6d0b6760 PR 48488 Fix comments
From-SVN: r173170
2011-04-29 19:03:54 +03:00
Janne Blomqvist
d785f6a394 PR 48488 Fix comments
From-SVN: r173169
2011-04-29 18:58:20 +03:00
Jerry DeLisle
f4c31037a2 re PR libfortran/48488 (Wrong default format for real numbers)
2011-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48488
	PR libgfortran/48602
	PR libgfortran/48615
	PR libgfortran/48684
	PR libgfortran/48787
	* gfortran.dg/fmt_g.f: Adjust test.
	* gfortran.dg/fmt_g0_1.f08: Adjust test.
	* gfortran.dg/round_3.f08: New test.
	* gfortran.dg/namelist_print_1.f: Adjust test.
	* gfortran.dg/char4_iunit_1.f03: Adjust test.
	* gfortran.dg/f2003_io_5.f03: Adjust test.
	* gfortran.dg/coarray_15.f90: Adjust test.
	* gfortran.dg/namelist_65.f90: Adjust test.
	* gfortran.dg/fmt_cache_1.f: Adjust test.
	* gfortran.dg/char4_iunit_2.f03: Adjust test.
	* gfortran.dg/real_const_3.f90: Adjust test.

From-SVN: r173168
2011-04-29 15:08:57 +00:00
Richard Guenther
45a2c4774f builtins.c (fold_builtin_classify_type): Use integer_type_node for the type of the result.
2011-04-29  Richard Guenther  <rguenther@suse.de>

	* builtins.c (fold_builtin_classify_type): Use integer_type_node
	for the type of the result.
	(fold_builtin_isascii): Likewise.
	(fold_builtin_toascii): Use integer_type_node where appropriate.
	(fold_builtin_logb): Likewise.
	(fold_builtin_frexp): Likewise.
	(fold_builtin_strstr): Likewise.
	(fold_builtin_strpbrk): Likewise.
	(fold_builtin_fputs): Likewise.
	(fold_builtin_sprintf): Likewise.
	(fold_builtin_snprintf): Likewise.
	(fold_builtin_printf): Likewise.
	(do_mpfr_remquo): Use a proper type for the assigned constant.
	(do_mpfr_lgamma_r): Likewise.
	* dwarf2out.c (resolve_one_addr): Use size_int.
	* except.c (init_eh): Likewise.
	(assign_filter_values): Use integer_type_node for filter values.
	(sjlj_emit_dispatch_table): Use integer_type_node for dispatch
	indices.
	* tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node
	for EH region numbers.
	* tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node
	for the shift amount.

From-SVN: r173167
2011-04-29 15:00:04 +00:00