Commit Graph

108425 Commits

Author SHA1 Message Date
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
Jerry DeLisle a3f02fe44c re PR libfortran/48488 (Wrong default format for real numbers)
2011-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Janne Blomqvist  <jb@gcc.gnu.org>

	PR libgfortran/48488
	PR libgfortran/48602
	PR libgfortran/48615
	PR libgfortran/48684
	PR libgfortran/48787
	* io/write.c (write_d, write_e, write_f, write_en,
	write_es): Add precision compemsation parameter to call.
	(set_fnode_default): Adjust default widths to assure
	round trip on write and read. (write_real): Adjust call to write_float.
	(write_real_g0): Calculate compensation for extra precision and adjust
	call to write_float. 
	* io/write_float.def (output_float_FMT_G_): Use volatile rather than
	asm volatile to avoid optimization issue. Correctly calculate the
	number of blanks (nb) to be appended and simplify calculation logic.
	(write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
	default widths. Eliminate the code that attempted to reduce the
	the precision used in later sprintf functions.  Add call parameter to
	compensate for extra precision.

Co-Authored-By: Janne Blomqvist <jb@gcc.gnu.org>

From-SVN: r173166
2011-04-29 14:56:02 +00:00
Richard Guenther eb6c3df1a0 expr.h (expand_shift): Rename to ...
2011-04-29  Richard Guenther  <rguenther@suse.de>

	* expr.h (expand_shift): Rename to ...
	(expand_variable_shift): ... this.
	(expand_shift): Take a constant shift amount.
	* expmed.c (expand_shift): Rename to ...
	(expand_variable_shift): ... this.
	(expand_shift): New wrapper around expand_variable_shift.
	* expr.c (convert_move, emit_group_load_1, emit_group_store,
	optimize_bitfield_assignment_op, store_field, expand_expr_real_2,
	expand_expr_real_1, reduce_to_bit_field_precision): Adjust.
	* expmed.c (store_fixed_bit_field, extract_bit_field_1,
	extract_fixed_bit_field, extract_split_bit_field, expand_mult_const,
	expand_mult, expand_widening_mult, expand_mult_highpart_adjust,
	extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore,
	emit_store_flag_1, emit_store_flag): Likewise.
	* builtins.c (expand_builtin_signbit): Likewise.
	* calls.c (load_register_parameters): Likewise.
	* function.c (assign_parm_setup_block): Likewise.
	* lower-subreg.c (resolve_shift_zext): Likewise.
	* optabs.c (widen_bswap, expand_abs_nojump,
	expand_one_cmpl_abs_nojump, expand_float): Likewise.
	* spu/spu.c (spu_expand_extv): Likewise.
	* sparc/sparc.c (sparc32_initialize_trampoline): Likewise.

From-SVN: r173157
2011-04-29 14:20:41 +00:00
Richard Guenther 9f616812d9 tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node for the remapped region number.
2011-04-29  Richard Guenther  <rguenther@suse.de>

	* tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node
	for the remapped region number.
	* predict.c (build_predict_expr): Use integer_type_node for the
	predict kind.
	* fold-const.c (fold_binary_loc): Use integer_type_node for
	the shift amount.  Use a proper type for the PLUS_EXPR operand.

From-SVN: r173156
2011-04-29 13:11:18 +00:00
Michael Matz b823cdfe76 lto-streamer.c (lto_streamer_cache_insert_1): Accept to override other trees that just builtins.
* lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
	other trees that just builtins.
	(lto_record_common_node): Don't leave NULL TYPE_CANONICAL.

lto/
	* lto.c (toplevel): Include tree-flow.h.
	(lto_read_in_decl_state): Don't merge types here.
	(tree_with_vars): New static hash table.
	(remember_with_vars): New static functions.
	(LTO_FIXUP_TYPE): New macro.
	(lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
	lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
	lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
	lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
	(lto_read_decls): Uniquify while reading in trees.
	(lto_fixup_data_t, LTO_FIXUP_SUBTREE,
	LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
	lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
	lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
	lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
	lto_fixup_tree): Remove.
	(lto_fixup_state): Remove data argument.  Use
	lto_symtab_prevailing_decl.
	(LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
	(lto_fixup_prevailing_decls): New function.
	(lto_fixup_state_aux): Argument aux is unused.
	(lto_fixup_decls): Don't allocate pointer sets, don't use
	lto_fixup_tree, use lto_fixup_prevailing_decls.
	(read_cgraph_and_symbols): Allocate and remove tree_with_vars.
	* Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).

From-SVN: r173155
2011-04-29 12:27:26 +00:00
Michael Matz fa5e5a764f misc.c (gnat_handle_option): Set warn_maybe_uninitialized.
ada/
	* gcc-interface/misc.c (gnat_handle_option): Set
	warn_maybe_uninitialized.

fortran/
	* options.c (options.c): Set warn_maybe_uninitialized.

From-SVN: r173154
2011-04-29 12:23:46 +00:00
Richard Guenther 413581bae8 tree-nested.c (get_trampoline_type): Use size_int.
2011-04-29  Richard Guenther  <rguenther@suse.de>

	* tree-nested.c (get_trampoline_type): Use size_int.
	(get_nl_goto_field): Likewise.
	* tree-eh.c (lower_try_finally_switch): Use integer_type_node
	for all indexes.
	(lower_eh_constructs_2): Likewise.
	(lower_resx): Likewise.
	(lower_eh_dispatch): Likewise.
	* tree-mudflap.c (mf_build_string): Use size_int.
	(mudflap_register_call): Use integer_type_node for the flag.
	(mudflap_enqueue_constant): Use size_int.
	* tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR
	instead of rebuilding it.

From-SVN: r173153
2011-04-29 12:00:55 +00:00
Richard Guenther 5c04e9f475 tree-ssa-structalias.c (get_fi_for_callee): Restructure.
2011-04-29  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (get_fi_for_callee): Restructure.
	Handle OBJ_TYPE_REF.
	(find_func_aliases_for_call): Use it more consistently.

From-SVN: r173152
2011-04-29 10:59:33 +00:00
Rainer Orth 9d9305ea5d osf.S (UA_SI, [...]): Define.
* src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
	Define.
	Use them to handle ELF vs. ECOFF differences.
	[__osf__] (_GLOBAL__F_ffi_call_osf): Define.

From-SVN: r173151
2011-04-29 08:49:08 +00:00
Alexandre Oliva 5c24671b5a haifa-sched.c (last_nondebug_scheduled_insn): New.
* haifa-sched.c (last_nondebug_scheduled_insn): New.
(rank_for_schedule): Use it.
(schedule_block): Set it.

From-SVN: r173150
2011-04-29 05:22:08 +00:00
Xinliang David Li 10adac5108 split checksum into cfg checksum and line checksum
From-SVN: r173147
2011-04-29 00:19:35 +00:00
GCC Administrator 112cee354d Daily bump.
From-SVN: r173146
2011-04-29 00:18:36 +00:00
Alan Modra 5d6358a57d rs6000.c (rs6000_delegitimize_address): Handle unspec plus offset.
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
	unspec plus offset.  Tidy macho code.

From-SVN: r173141
2011-04-29 08:58:56 +09:30
Martin Jambor 85ad2ef57f cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph node instead of a decl.
2011-04-29  Martin Jambor  <mjambor@suse.cz>

	* cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
	node instead of a decl.  Update all callers.
	* cgraph.h: Update declaration.

From-SVN: r173138
2011-04-29 00:49:46 +02:00
Michael Meissner 74c810bdd0 update changelog #2
From-SVN: r173135
2011-04-28 20:51:23 +00:00
Ira Rosen 437f4a0024 re PR tree-optimization/48765 (ICE in vect_transform_stmt)
PR tree-optimization/48765
        * tree-vectorizer.h (vect_make_slp_decision): Return bool.
        * tree-vect-loop.c (vect_analyze_loop_operations): Add new
        argument to indicate if loop aware SLP is being used.  Scan
        the statements and update the vectorization factor
        according to the type of
        vectorization before statement analysis.
        (vect_analyze_loop_2): Get a return value from
        vect_make_slp_decision, pass it to 
        vect_analyze_loop_operations.
        (vectorizable_reduction): Set number of copies to 1 in case of
        pure SLP statement.
        * tree-vect-stmts.c (vectorizable_conversion,
        vectorizable_assignment, vectorizable_shift,
        vectorizable_operation, vectorizable_type_demotion,
        vectorizable_type_promotion, vectorizable_store,
        vectorizable_load): Likewise.
        (vectorizable_condition): Move the check that it is not SLP
        vectorization before the number of copies check.
        * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if
        decided to vectorize the loop using SLP.

From-SVN: r173132
2011-04-28 19:50:28 +00:00
Michael Meissner 45540bcf24 update changelog
From-SVN: r173128
2011-04-28 19:09:30 +00:00
Rainer Orth 2e23f6d95f re PR tree-optimization/48775 (gcc.dg/pr48616.c FAILs on Tru64 UNIX)
PR tree-optimization/48775
	* gcc.dg/pr48616.c: Also add -fno-common on alpha*-dec-osf*.

From-SVN: r173125
2011-04-28 18:31:52 +00:00
Paolo Carlini 546a41977b re PR c++/48798 (CV-qualified base class erroneously forbidden)
/cp
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48798
	* semantics.c (finish_base_specifier): cv-qualified base class
	is fine, per DR 484.

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

	PR c++/48798
	* g++.dg/inherit/pr48798.C: New.
	* g++.old-deja/g++.other/base1.C: Adjust.

From-SVN: r173124
2011-04-28 18:12:29 +00:00
Dodji Seketeli f62cd40949 re PR c++/48656 ([C++0x] cannot call member function without object)
Fix PR c++/48656

gcc/cp/

	* semantics.c (finish_call_expr): Don't forget BASELINK nodes when
	considering call expressions involving a member function.

gcc/testsuite/

	* gcc/testsuite/g++.dg/template/inherit7.C: New test case.

From-SVN: r173123
2011-04-28 20:08:43 +02:00
Jakub Jelinek c6fc44f364 re PR middle-end/48597 (x86-64 unwind register save location misses half-register write?)
PR middle-end/48597
	* final.c (final_scan_insn): Call dwarf2out_frame_debug even for
	inline asm.

From-SVN: r173120
2011-04-28 19:01:02 +02:00
Joseph Myers 6c0170eaf1 * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
*-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
	(i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
	i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
	x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
	linux*.h headers.
	* config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
	Define.
	* config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
	* config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
	* config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
	* config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't
	undefine.
	* config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
	REG_NAME.
	* config/i386/linux.h (REG_NAME): Don't define.
	* config/i386/linux64.h (REG_NAME): Don't define.
	* config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
	Undefine before defining.

From-SVN: r173119
2011-04-28 17:49:49 +01:00
Joseph Myers fddf9ee798 configure.ac (*-*-dragonfly*, [...]): Remove cases in libgcj-disabling case statement.
* configure.ac (*-*-dragonfly*, *-*-freebsd*, *-*-netbsd*,
	alpha*-dec-osf*, alpha*-*-linux*, alpha*-*-*, sh-*-linux*,
	arm-*-elf* | arm*-*-eabi*, arm*-*-linux-gnueabi, frv-*-*): Remove
	cases in libgcj-disabling case statement.
	(hppa*64*-*-linux*): Set unsupported_languages instead of
	disabling target-zlib.
	(hppa*64*-*-*): Restrict case in libgcj-disabling case statement
	to hppa*64*-*-hpux*.
	(hppa*-*-*): Restrict case in libgcj-disabling case statement to
	hppa*-*-hpux*.
	(ia64*-*-elf*, ia64*-**-hpux*, i[[3456789]]86-*-elf,
	i[[3456789]]86-*-linux*, *-*-cygwin*, i[[3456789]]86-*-interix*,
	i[[3456789]]86-*-solaris2*, m32r-*-*, m68k-*-elf*, m68*-*-* |
	fido-*-*, powerpc-*-eabi, powerpc-*-eabi* | powerpcle-*-eabi* |
	powerpc-*-rtems*, mips*-*-linux*, mips*-*-*, sh-*-* | sh64-*-*,
	sparc-*-elf*, sparc64-*-elf*, sparc-*-solaris* |
	sparc64-*-solaris* | sparcv9-*-solaris*, *-*-linux* | *-*-gnu* |
	*-*-k*bsd*-gnu | *-*-kopensolaris*-gnu, *-*-*): Remove cases in
	libgcj-disabling case statement.
	* configure: Regenerate.

From-SVN: r173118
2011-04-28 17:45:19 +01:00
Jan Hubicka 970dabbd1e ipa-inline-analysis.c (will_be_nonconstant_predicate): Take nonconstant_names array.
* ipa-inline-analysis.c (will_be_nonconstant_predicate): Take nonconstant_names
	array.
	(estimate_function_body_sizes): Build nonconstant_names array; handle
	BUILT_IN_CONSTANT_P.

From-SVN: r173070
2011-04-28 13:29:54 +00:00