Commit Graph

118472 Commits

Author SHA1 Message Date
Jonathan Wakely
3f6de40f27 re PR libstdc++/54354 (TODO extended iomanip manipulators std::get_time and std::put_time (C++11, section 27.7.5))
PR libstdc++/54354
	* doc/xml/manual/status_cxx2011.xml: Note missing manipulators.
	* doc/html/*: Regenerate.

From-SVN: r190616
2012-08-23 09:37:19 +01:00
Georg-Johann Lay
8ab48a7bfa convert.c: Split into manageable parts:
* gcc.dg/fixed-point/convert.c: Split into manageable parts:
	* gcc.dg/fixed-point/convert-1.c: New.
	* gcc.dg/fixed-point/convert-2.c: New.
	* gcc.dg/fixed-point/convert-3.c: New.
	* gcc.dg/fixed-point/convert-4.c: New.
	* gcc.dg/fixed-point/convert-float-1.c: New.
	* gcc.dg/fixed-point/convert-float-2.c: New.
	* gcc.dg/fixed-point/convert-float-3.c: New.
	* gcc.dg/fixed-point/convert-float-4.c: New.
	* gcc.dg/fixed-point/convert-accum-neg.c: New.
	* gcc.dg/fixed-point/convert-sat.c: New.
	* gcc.dg/fixed-point/convert.h: New.

From-SVN: r190615
2012-08-23 08:11:56 +00:00
Richard Guenther
ceb16be3e8 tree-ssa-loop-manip.c (add_exit_phis_var): Allow virtual operands.
2012-08-23  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-loop-manip.c (add_exit_phis_var): Allow virtual operands.
	(find_uses_to_rename_use): Likewise.
	(find_uses_to_rename_bb): Likewise.
	(find_uses_to_rename_stmt): Walk over all operands.

From-SVN: r190614
2012-08-23 07:38:54 +00:00
Ian Lance Taylor
610d0e16cf compiler: Comparisons return untyped boolean value.
From-SVN: r190612
2012-08-23 04:58:30 +00:00
Ian Lance Taylor
c92900d1db compiler: Remove old handling of unsafe.Pointer in type assertions.
Fixes issue 17.

From-SVN: r190608
2012-08-23 00:20:48 +00:00
GCC Administrator
8489a21ac4 Daily bump.
From-SVN: r190607
2012-08-23 00:18:41 +00:00
Oleg Endo
6e01d52651 re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089
	* config/sh/predicates (p27_rshift_count_operand,
	not_p27_rshift_count_operand): New predicates.
	* config/sh/sh.c (sh_ashlsi_clobbers_t_reg_p,
	sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p): Handle special
	case when shift amount is 31.
	(gen_ashift): Emit gen_shlr instead of gen_lshrsi3_m.
	* config/sh/sh.md (ashlsi3_d): Set type to 'dyn_shift' instead
	of 'arith'.
	(ashlsi_c): Rename to shll.  Adapt calls to gen_ashlsi_c throughout
	the file.
	(lshrsi3): Remove clobber from expander.  Use shift_count_operand
	instead of nonmemory_operand predicate for second operand.  Add
	handling of case lshrsi3_n_clobbers_t.
	(lshrsi3_k): Use p27_rshift_count_operand for second operand.
	(lshrsi3_d): Make insn_and_split.  Split dynamic shift to constant
	shift sequences if beneficial.
	(lshrsi3_n): Make insn_and_split.  Split constant shift sequence to
	dynamic shift if beneficial.
	(lshrsi3_n_clobbers_t): New insn_and_split.
	(lshrsi3_m): Delete.

	PR target/54089
	* gcc.target/sh/pr54089-2.c: New.

From-SVN: r190603
2012-08-22 22:52:17 +00:00
Steven Bosscher
131db6b8b2 tracer.c (mark_bb_seen): Use SBITMAP_SIZE.
* tracer.c (mark_bb_seen): Use SBITMAP_SIZE.

	* alias.c (MAX_ALIAS_LOOP_PASSES): Update comment with rationale,
	or rather a lack thereof.
	(init_alias_analysis): Propagate the latest information across
	the CFG in topological order to propagate as far as possible in
	each iteration.  Ignore debug insns.

From-SVN: r190602
2012-08-22 21:38:03 +00:00
H.J. Lu
c637141af0 Add -mlong-double-64/-mlong-double-80 to i386
gcc/

	* doc/invoke.texi: Document -mlong-double-64/-mlong-double-80.

	* config/i386/i386.c (flag_opts): Add -mlong-double-64.
	(TARGET_HAS_BIONIC): Default long double to 64-bit for Bionic.

	* config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 64 if
	TARGET_LONG_DOUBLE_64 is true.
	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New macro.
	(WIDEST_HARDWARE_FP_SIZE): Defined to 80.

	* config/i386/i386.opt (mlong-double-80): New option.
	(mlong-double-64): Likewise.

	* config/i386/i386-c.c (ix86_target_macros): Define
	__LONG_DOUBLE_64__ for TARGET_LONG_DOUBLE_64.

gcc/testsuite/

	* gcc.target/i386/long-double-64-1.c: New file.
	* gcc.target/i386/long-double-64-2.c: Likewise.
	* gcc.target/i386/long-double-64-3.c: Likewise.
	* gcc.target/i386/long-double-64-4.c: Likewise.
	* gcc.target/i386/long-double-80-1.c: Likewise.
	* gcc.target/i386/long-double-80-2.c: Likewise.
	* gcc.target/i386/long-double-80-3.c: Likewise.
	* gcc.target/i386/long-double-80-4.c: Likewise.
	* gcc.target/i386/long-double-80-5.c: Likewise.
	* gcc.target/i386/long-double-80-6.c: Likewise.
	* gcc.target/i386/long-double-80-7.c: Likewise.

libgcc/

	* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): New.

From-SVN: r190599
2012-08-22 12:46:28 -07:00
H.J. Lu
a8a68bb00a Replace REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_target
PR target/54347
	* config/i386/i386.c (ix86_split_to_parts): Replace
	REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_target.

From-SVN: r190598
2012-08-22 12:43:58 -07:00
Richard Guenther
21e2818df9 tree-vectorizer.c (vectorize_loops): Do not call mark_virtual_operands_for_renaming.
2012-08-22  Richard Guenther  <rguenther@suse.de>

	* tree-vectorizer.c (vectorize_loops): Do not call
	mark_virtual_operands_for_renaming.
	* tree-vect-slp.c (vect_slp_transform_bb): Likewise.
	Do not update SSA form here.

From-SVN: r190596
2012-08-22 15:11:26 +00:00
Dodji Seketeli
4579ccbc0e Make TREE_NOTHROW use the base.nothrow_flag again
While working on something else, I noticed that debug_tree (vec), when
vec is a TREE_VEC was crashing because TREE_NOTHROW was asserting that
its argument is not a TREE_VEC, so print_node would crash.

It turned out that TREE_NOTHROW was accidentally modified by this
change set:

commit 87d8f7b67c6a36c37e48e298f26e693520099b1e
Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Tue Aug 21 10:03:38 2012 +0000

    2012-08-21  Richard Guenther  <rguenther@suse.de>

    	cp/
    	* cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.
    	(ATTR_IS_DEPENDENT): Likewise.
    	(ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of
    	TREE_LANG_FLAG_0 on TREE_VECs.

    	* tree.h (struct tree_base): Add union to make it possible to
    	re-use the upper 4 bytes for tree codes that do not need as
    	many flags as others.  Move visited and default_def_flag to
    	common bits section in exchange for saturating_flag and
    	unsigned_flag.  Add SSA name version and tree vec length
    	fields here.
    	(struct tree_vec): Remove length field here.
    	(struct tree_ssa_name): Remove version field here.

    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190558 138bc75d-0d04-0410-961f-82ee72b054a4

Richard Guenther pre-approved the reverting of the TREE_NOTHROW change
line.

Tested on x86_64-unknown-linux-gnu against master and applied to
trunk.

gcc/
	* tree.h (TREE_NOTHROW): Use the base.nothrow_flag.

From-SVN: r190595
2012-08-22 15:50:58 +02:00
Richard Guenther
9bb06c2a9f re PR tree-optimization/46590 (long compile time with -O2 and many loops)
2012-08-22  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/46590
	* tree-ssa-alias.h (get_continuation_for_phi): Add alias query
	counter output argument.
	(walk_non_aliased_vuses): Add alias query counter argument
	to the walker callback.
	* tree-ssa-alias.c (maybe_skip_until): Add alias query counter
	output argument and count alias queries.
	(get_continuation_for_phi_1): Likewise.
	(get_continuation_for_phi): Likewise.
	(walk_non_aliased_vuses): Add alias query counter argument
	to the walker callback and allow it to abort the walk by
	returning -1.
	* tree-ssa-pre.c (translate_vuse_through_block): Adjust.
	* tree-ssa-sccvn.c (vn_reference_lookup_2): Add alias query
	counter parmeter, abort walk if that is bigger than
	--param sccvn-max-alias-queries-per-access.
	* params.def (sccvn-max-alias-queries-per-access): New param.
	* doc/invoke.texi (sccvn-max-alias-queries-per-access): Document.

From-SVN: r190594
2012-08-22 13:17:26 +00:00
Richard Guenther
4ad1491914 tree-ssa-loop-ch.c (copy_loop_headers): Remove redundant checking.
2012-08-22  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-loop-ch.c (copy_loop_headers): Remove redundant checking.
	* tree-into-ssa.c (initialize_flags_in_bb): Use gcc_checking_assert
	instead of gcc_assert.
	(mark_block_for_update): Likewise.
	(add_new_name_mapping): Likewise.
	(mark_def_sites): Likewise.
	(insert_phi_nodes_for): Likewise.
	(rewrite_debug_stmt_uses): Likewise.
	(rewrite_stmt): Likewise.
	(maybe_register_def): Likewise.
	(rewrite_update_phi_arguments): Likewise.
	(rewrite_update_enter_block): Likewise.
	(mark_def_interesting): Likewise.
	(prepare_def_site_for): Likewise.
	(insert_updated_phi_nodes_for): Likewise.

From-SVN: r190593
2012-08-22 13:14:32 +00:00
Jakub Jelinek
156c01cf12 tree-vect-loop.c (vect_transform_loop): Initialize check_profitability to false.
* tree-vect-loop.c (vect_transform_loop): Initialize
	check_profitability to false.

	* tree-predcom.c (try_combine_chains): Free the worklist vector
	at the end.

From-SVN: r190592
2012-08-22 15:00:13 +02:00
Marc Glisse
d9c6ca8570 re PR tree-optimization/54317 (FAIL: c45532m c45532n c45532o c45532p)
2012-08-22  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/54317

gcc/
	* tree-vrp.c (extract_range_from_binary_expr_1): Test for
	double_int overflow.
	Remove dead tests.

gcc/testsuite/
	* gcc.dg/tree-ssa/vrp79.c: New testcase.

From-SVN: r190591
2012-08-22 12:29:23 +00:00
Jakub Jelinek
6f723d3319 tree-vrp.c (find_assert_locations): Skip also edges from the entry block.
* tree-vrp.c (find_assert_locations): Skip also edges
	from the entry block.

	* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Call
	free_stmt_vec_info on orig_cond after gsi_removing it.
	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Always
	free body_cost_vec vector.
	(vect_analyze_data_refs): If gather is unsuccessful,
	free_data_ref (dr).
	* tree-inline.c (tree_function_versioning): Free
	old_transforms_to_apply vector.

From-SVN: r190590
2012-08-22 11:19:39 +02:00
Steven Bosscher
06d43afd85 tree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents of this a VEC and add a bitmap obstack.
* tree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents
	of this a VEC and add a bitmap obstack.
	(ssa_conflicts_new): Allocate the obstack and grow the VEC cleared
	to the right size.
	(ssa_conflicts_delete): Free the VEC and release the obstack.
	(ssa_conflicts_test_p, ssa_conflicts_test_p, ssa_conflicts_add_one,
	ssa_conflicts_merge, ssa_conflicts_dump): Update for above changes.
	(truct live_track_d): Add another bitmap obstack here.
	(new_live_track): Initialize it and use it for all bitmaps.
	(delete_live_track): Don't free the bitmaps one at a time, just
	release the obstack.
	(create_outofssa_var_map): Fix to conform to GCC code style rules.

From-SVN: r190589
2012-08-22 08:59:56 +00:00
Joseph Myers
130e00bd24 Makefile.in (vis_hide, [...]): Do not make definitions depend on --enable-shared.
* Makefile.in (vis_hide, gen-hide-list): Do not make definitions
	depend on --enable-shared.
	($(lib1asmfuncs-o)): Use %.vis files independent of
	--enable-shared.
	* static-object.mk ($(base)$(objext), $(base).vis)
	($(base)_s$(objext)): Use same rules for visibility handling as in
	shared-object.mk.

From-SVN: r190588
2012-08-22 09:36:23 +01:00
Tobias Burnus
d8f8a0b41e trans-expr.c (gfc_copy_class_to_class, [...]): Free loop and ss data.
2012-08-22  Tobias Burnus  <burnus@net-b.de>

        * trans-expr.c (gfc_copy_class_to_class,
        gfc_trans_arrayfunc_assign): Free loop and ss data.
        * trans-intrinsic.c (gfc_trans_arrayfunc_assign): Free ss data.

From-SVN: r190586
2012-08-22 07:54:24 +02:00
Nathan Froyd
03dd17b12e constraints.md: New file.
* config/m32c/constraints.md: New file.
	* config/m32c/t-m32c (MD_FILES): Add constraints.
	* config/m32c/m32c-protos.h (m32c_const_ok_for_constraint_p): Delete.
	(m32c_extra_address_constraint, m32c_extra_memory_constraint): Delete.
	(m32c_reg_class_from_constraint): Delete.
	(m32c_extra_constraint_p, m32c_extra_constraint_p2): Delete.
	(m32c_matches_constraint_p): Declare.
	* config/m32c/m32c.h (CONSTRAINT_LEN): Delete.
	(REG_CLASS_FROM_CONSTRAINT): Delete.
	(CONST_OK_FOR_CONSTRAINT_P): Delete.
	(CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Delete.
	(EXTRA_CONSTRAINT_STR): Delete.
	(EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Delete.
	* config/m32c/m32c.c: Include tm-constrs.h
	(m32c_reg_class_from_constraint): Delete.
	(m32c_const_ok_for_constraint_p): Delete.
	(m32c_extra_constraint_p2): Rename to...
	(m32c_matches_constraint_p): ...this.  Make it return bool.  Tweak
	formatting.
	(m32c_extra_constraint_p): Delete.
	(m32c_extra_address_constraint, m32c_extra_memory_constraint): Delete.
	(m32c_split_move): Use satisfies_constraint_Ss.
	* config/m32c/predicates.md (memsym_operand): Use 
	satisfies_constraint_Si.
	(memimmed_operand): Use satisfies_constraint_Sp.
	(m32c_psi_scale, m32c_1bit8_operand): Use satisfies_constraint_Ilb.
	(m32c_1bit16_operand): Use satisfies_constraint_Ilw.
	(m32c_1mask8_operand): Use satisfies_constraint_ImB.
	(m32c_1mask16_operand): Use satisfies_constraint_Imw.

From-SVN: r190585
2012-08-22 02:23:19 +00:00
Nathan Froyd
c42df5efd3 mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.
* config/mep/mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.
	(CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
	(CONSTRAINT_LEN, EXTRA_CONSTRAINT): Delete.
	* config/mep/mep.c (mep_reg_class_from_constraint): Delete.
	(mep_const_ok_for_letter_p, mep_extra_constraint): Delete.
	* config/mep/mep-protos.h (mep_reg_class_from_constraint): Delete.
	(mep_const_ok_for_letter_p, mep_extra_constraint): Delete.

From-SVN: r190584
2012-08-22 02:21:17 +00:00
GCC Administrator
fd76ab9b08 Daily bump.
From-SVN: r190583
2012-08-22 00:18:07 +00:00
Oleg Endo
35ed5a707f sh.md (cmpeqdi_t, [...]): Convert to multi-line asm output strings.
* config/sh/sh.md (cmpeqdi_t, cmpgtdi_t, cmpgedi_t, cmpgeudi_t,
	cmpgtudi_t, *movsicc_t_false, *movsicc_t_true, divsi_inv20, negsi_cond,
	truncdihi2, ic_invalidate_line_i, ic_invalidate_line_sh4a,
	ic_invalidate_line_media, movdf_i4, calli_pcrel, call_valuei,
	call_valuei_pcrel, sibcalli_pcrel, sibcall_compact,
	sibcall_valuei_pcrel, sibcall_value_compact, casesi_worker_1,
	casesi_worker_2, bandreg_m2a, borreg_m2a, bxorreg_m2a, sp_switch_1,
	sp_switch_2, stack_protect_set_si, stack_protect_set_si_media,
	stack_protect_set_di_media, stack_protect_test_si,
	stack_protect_test_si_media, stack_protect_test_di_media): Convert to
	multi-line asm output strings.
	(divsi_inv_qitable, divsi_inv_hitable): Use single-alternative asm
	output.
	(*andsi3_bclr, rotldi3_mextr, rotrdi3_mextr, calli, call_valuei_tbr_rel,
	movml_push_banked, movml_pop_banked, bclr_m2a, bclrmem_m2a, bset_m2a,
	bsetmem_m2a, bst_m2a, bld_m2a, bldsign_m2a, bld_reg, *bld_regqi,
	band_m2a, bor_m2a, bxor_m2a, mextr_rl, *mextr_lr, ): Use tab char
	instead of '\\t'.
	(iordi3): Use braced string.
	(*movsi_pop): Use tab chars instead of spaces.

From-SVN: r190580
2012-08-21 23:38:47 +00:00
Oleg Endo
082ea1dcd5 re PR target/39423 ([SH] performance regression: lost mov @(disp,Rn))
PR target/39423
	* config/sh/sh.md (*movhi_index_disp): Add support for SH2A movu.w insn.

	PR target/39423
	* gcc.target/sh/pr39423-2.c: New.

From-SVN: r190579
2012-08-21 23:34:54 +00:00
H.J. Lu
1aee89910a Restore df_free_collection_rec call in df_bb_verify
PR middle-end/54332
	* df-scan.c (df_bb_verify): Restore df_free_collection_rec call
	inside the insn traversal loop.

	* vec.h (vec_reserve): Remove the stack allocation check.

From-SVN: r190576
2012-08-21 14:07:01 -07:00
Tobias Burnus
61917ebc96 parse.c (parse_contained): Include EXEC_END_PROCEDURE in ns->code to make sure the gfc_code is freed.
2012-08-21  Tobias Burnus  <burnus@net-b.de>

        * parse.c (parse_contained): Include EXEC_END_PROCEDURE
        in ns->code to make sure the gfc_code is freed.

From-SVN: r190575
2012-08-21 23:01:36 +02:00
Ian Lance Taylor
4b1b378895 morestack.S (__morestack_non_split): Increase amount of space allocated for non-split code stack.
* config/i386/morestack.S (__morestack_non_split): Increase amount
	of space allocated for non-split code stack.

From-SVN: r190574
2012-08-21 20:51:42 +00:00
Marc Glisse
8a3ffc5d39 fold-const.c (fold_ternary_loc): Detect identity permutations.
2012-08-21  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* fold-const.c (fold_ternary_loc): Detect identity permutations.
	Canonicalize permutations more.
	* tree-ssa-forwprop.c (is_combined_permutation_identity): New function.
	(simplify_permutation): Likewise.
	(ssa_forward_propagate_and_combine): Call it.

gcc/testsuite/
	* gcc.dg/tree-ssa/forwprop-19.c: New testcase.
	* gcc.dg/fold-perm.c: Likewise.

From-SVN: r190561
2012-08-21 13:27:00 +00:00
Richard Guenther
b6db991c95 tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free the affine expansion cache.
2012-08-21  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
	the affine expansion cache.
	* tree-ssa-dom.c (free_expr_hash_elt_contents): New function,
	split out from ...
	(free_expr_hash_elt): ... this one.
	(record_cond): Properly free a not needed hashtable element.
	(lookup_avail_expr): Likewise.
	* tree-into-ssa.c (init_ssa_renamer): Specify a free function
	for the var_infos hashtable.
	(update_ssa): Likewise.

From-SVN: r190560
2012-08-21 11:48:42 +00:00
Richard Guenther
825c743c87 alloc-pool.c (pool_alloc): Fix valgrind annotation.
2012-08-21  Richard Guenther  <rguenther@suse.de>

	* alloc-pool.c (pool_alloc): Fix valgrind annotation.
	* tree.h: Fix typo and complete flags documentation.

From-SVN: r190559
2012-08-21 11:26:16 +00:00
Richard Biener
c1aaec5bf8 cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.
2012-08-21  Richard Guenther  <rguenther@suse.de>

	cp/
	* cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.
	(ATTR_IS_DEPENDENT): Likewise.
	(ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of
	TREE_LANG_FLAG_0 on TREE_VECs.

	* tree.h (struct tree_base): Add union to make it possible to
	re-use the upper 4 bytes for tree codes that do not need as
	many flags as others.  Move visited and default_def_flag to
	common bits section in exchange for saturating_flag and
	unsigned_flag.  Add SSA name version and tree vec length
	fields here.
	(struct tree_vec): Remove length field here.
	(struct tree_ssa_name): Remove version field here.

From-SVN: r190558
2012-08-21 10:03:38 +00:00
Hariharan Sandanagobalane
12d876079a MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.
        (picochip port): Remove myself.

From-SVN: r190557
2012-08-21 09:59:59 +00:00
Jan Hubicka
2daffc4799 re PR fortran/48636 (Enable more inlining with -O2 and higher)
PR fortran/48636
	* ipa-inline.c (want_inline_small_function_p): Take loop_iterations hint.
	(edge_badness): Likewise.
	* ipa-inline.h (inline_hints_vals): Add INLINE_HINT_loop_iterations.
	(inline_summary): Add loop_iterations.
	* ipa-inline-analysis.c: Include tree-scalar-evolution.h.
	(dump_inline_hints): Dump loop_iterations.
	(reset_inline_summary): Free loop_iterations.
	(inline_node_duplication_hook): Update loop_iterations.
	(dump_inline_summary): Dump loop_iterations.
	(will_be_nonconstant_expr_predicate): New function.
	(estimate_function_body_sizes): Analyze loops.
	(estimate_node_size_and_time): Set hint loop_iterations.
	(inline_merge_summary): Merge loop iterations.
	(inline_read_section): Stream in loop_iterations.
	(inline_write_summary): Stream out loop_iterations.

From-SVN: r190556
2012-08-21 06:54:01 +00:00
Ian Lance Taylor
e162e288ec mksysinfo: Fix syscall.F_GETLK and friends for 32-bit x86.
From-SVN: r190554
2012-08-21 05:29:30 +00:00
GCC Administrator
bb51debe06 Daily bump.
From-SVN: r190552
2012-08-21 00:18:14 +00:00
Oleg Endo
f76ea20802 Fix PR numbers for ChangeLog entries.
From-SVN: r190547
2012-08-20 21:25:17 +00:00
Florian Weimer
4a84253c98 Fix PR C++/19351: integer overflow in operator new[]
2012-08-20  Florian Weimer  <fweimer@redhat.com>

	PR c++/19351
	* call.c (build_operator_new_call): Add size_check argument and
	evaluate it.
	* cp-tree.h (build_operator_new_call): Adjust declaration.
	* init.c (build_new_1): Compute array size check and apply it.

2012-08-10  Florian Weimer  <fweimer@redhat.com>

	PR c++/19351
	* g++.dg/init/new38.C: New test.
	* g++.dg/init/new39.C: New test.

From-SVN: r190546
2012-08-20 23:13:23 +02:00
Oleg Endo
5592815a88 re PR rtl-optimization/50489 ([UPC/IA64] mis-schedule of MEM ref with -ftree-vectorize and -fschedule-insns2)
PR target/50489
	* config/sh/sh.md (rotcr, *rotcr, shar, shlr): New insns and splits.
	(ashrdi3_k, lshrdi3_k): Rewrite as insn_and_split.
	* config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p): New function.
	* config/sh/sh-protos.h (sh_lshrsi_clobbers_t_reg_p): Declare it.

	PR target/50489
	* gcc.target/sh/pr54089-1.c: New.

From-SVN: r190545
2012-08-20 20:54:20 +00:00
Oleg Endo
6774855070 re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244
	* config/sh/sh.md (*cset_zero): New insns.

	PR target/51244
	* gcc.target/sh/pr51244-11.c: New.

From-SVN: r190544
2012-08-20 20:51:06 +00:00
Mark Wielaard
413de8e5c7 dwarf2out.c: For DWARF 4+, output DW_AT_high_pc as constant offset.
* dwarf2out.h (enum dw_val_class): Add dw_val_class_high_pc.
        * dwarf2out.c (dw_val_equal_p): Handle dw_val_class_high_pc.
        (add_AT_low_high_pc): New function.
        (AT_lbl): Handle dw_val_class_high_pc.
        (print_die): Likewise.
        (attr_checksum): Likewise.
        (attr_checksum_ordered): Likewise.
        (same_dw_val_p): Likewise.
        (size_of_die): Likewise.
        (value_format): Likewise.
        (output_die): Likewise.
        (gen_subprogram_die): Use add_AT_low_high_pc.
        (add_high_low_attributes): Likewise.
        (dwarf2out_finish): Likewise.

From-SVN: r190543
2012-08-20 20:27:46 +00:00
Tobias Burnus
ed0ba472c6 re PR fortran/54301 (Add optional warning if pointer assigning a local variable to a nonlocal pointer)
2012-08-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54301
        * expr.c (gfc_check_pointer_assign): Warn when a pointer,
        which is a function result, might outlive its target.

2012-08-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54301
        * gfortran.dg/warn_target_lifetime_2.f90: New.

From-SVN: r190542
2012-08-20 21:49:46 +02:00
Jakub Jelinek
07bc8ae8ab re PR rtl-optimization/54294 ([alpha] Bootstrap comparison failure due to fwprop handling of debug insns)
PR rtl-optimization/54294
	* fwprop.c (all_uses_available_at): Ignore debug insns in between
	def_insn and target_insn when checking whether the shortcut is
	possible.

From-SVN: r190541
2012-08-20 20:56:49 +02:00
Eric Botcazou
59e08d4f09 * config/sparc/sparc.h (MAX_FIXED_MODE_SIZE): Define.
From-SVN: r190540
2012-08-20 18:50:13 +00:00
Paolo Carlini
d952d7ad31 re PR c++/10416 ('unused variable' warning ignores ctor/dtor side-effects)
/cp
2012-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/10416
	* decl.c (poplevel): Check TYPE_HAS_NONTRIVIAL_DESTRUCTOR for
	Wunused_variable too.

/testsuite
2012-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/10416
	* g++.dg/warn/Wunused-var-17.C: New.

From-SVN: r190538
2012-08-20 17:38:53 +00:00
Patrick Marlier
d88513eaf7 re PR middle-end/53992 (Combining -fopenmp and -fgnu-tm results in segfault or misbehaving binaries)
gcc/
2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>

	PR middle-end/53992
	* omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.

testsuite/
2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>

	PR middle-end/53992
	* gcc.dg/gomp/pr53992.c: New test.

From-SVN: r190536
2012-08-20 16:22:17 +00:00
Diego Novillo
e3b3505750 Fix -ftime-report for C++ lookup.
Found this while running -ftime-report on a largish C++ source file.
We need to start TV_NAME_LOOKUP conditionally inside poplevel()
because it may be called from another lookup routine that already has
TV_NAME_LOOKUP going.

Tested on x86_64.  Committed to trunk.

2012-08-20  Diego Novillo  <dnovillo@google.com>

	* decl.c (poplevel): Start TV_NAME_LOOKUP conditionally.

From-SVN: r190535
2012-08-20 10:23:32 -04:00
Richard Earnshaw
eb83633a81 re PR tree-optimization/54295 (Widening multiply-accumulate operation uses wrong value extension)
PR tree-ssa/54295
	* tree-ssa-math-opts.c (is_widening_mult_rhs_p): Delete rhs_code
	declaration and setter.

From-SVN: r190534
2012-08-20 14:13:16 +00:00
Richard Earnshaw
7ab6a82801 re PR tree-optimization/54295 (Widening multiply-accumulate operation uses wrong value extension)
PR tree-ssa/54295
	* tree-ssa-math-opts.c (widening_mult_conversion_strippable_p):
	New function.
	(is_widening_mult_rhs_p): Use it.

	* gcc.c-torture/execute/20120817-1.c: New test.

From-SVN: r190533
2012-08-20 12:49:47 +00:00
Joseph Myers
19f7578389 configure.ac (ffs): Check for declaration.
* configure.ac (ffs): Check for declaration.
	* configure, config.in: Regenerate.

From-SVN: r190532
2012-08-20 13:31:25 +01:00