Commit Graph

109251 Commits

Author SHA1 Message Date
Nicola Pero
98ab024860 In gcc/objc/: 2011-06-01 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2011-06-01  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-act.c (objc_decl_method_attributes): Implement nonnull
	attribute for Objective-C methods.

In gcc/testsuite/:
2011-06-01  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc.dg/attributes/method-nonnull-1.m: New test.
	* obj-c++.dg/attributes/method-nonnull-1.mm: New test.

From-SVN: r174520
2011-06-01 09:30:18 +00:00
Richard Guenther
6807da97b7 tree.c (free_lang_data): Do not reset boolean_type_node nor char_type_node.
2011-06-01  Richard Guenther  <rguenther@suse.de>

	* tree.c (free_lang_data): Do not reset boolean_type_node nor
	char_type_node.
	* lto-streamer.c (lto_record_common_node): Take node pointer,
	do not register types.
	(lto_preload_common_nodes): Explicitly skip preloading nodes
	that differ between frontends.

	lto/
	* lto-lang.c (lto_register_canonical_types): New function.
	(lto_init): Register common nodes with the canonical type machinery.
	Do not play tricks with char_type_node.

From-SVN: r174519
2011-06-01 08:52:33 +00:00
GCC Administrator
3dca2ab7a7 Daily bump.
From-SVN: r174518
2011-06-01 00:18:07 +00:00
Pat Haugen
ddaf42bc24 rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from NON_FLOAT_REGS.
* config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
        NON_FLOAT_REGS.

From-SVN: r174512
2011-05-31 20:50:37 +00:00
Pat Haugen
abdd692edc rs6000.c (rs6000_register_move_cost): Preserve from parameter value for dump.
* config/rs6000/rs6000.c (rs6000_register_move_cost): Preserve from
        parameter value for dump. Dump cost on outermost call only.
        (rs6000_memory_move_cost): Dump cost on outermost call only.

From-SVN: r174511
2011-05-31 20:47:37 +00:00
Tobias Burnus
da661a58be re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-31  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * intrinsic.c (klass): Add CLASS_ATOMIC.
        (add_subroutines): Add atomic_ref/atomic_define.
        * intrinsic.texi (ATOMIC_REF, ATOMIC_DEFINE): Document.
        * intrinsic.h (gfc_check_atomic_def, gfc_check_atomic_ref,
        gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New prototypes.
        * gfortran.h (gfc_isym_id): Add GFC_ISYM_ATOMIC_DEF
        and GFC_ISYM_ATOMIC_REF.
        (gfc_atomic_int_kind, gfc_atomic_logical_kind): New global vars.
        * iresolve.c (gfc_resolve_atomic_def, gfc_resolve_atomic_ref):
        * New
        functions.
        * check.c (gfc_check_atomic, gfc_check_atomic_def,
        gfc_check_atomic_ref): New functions.
        * iso-fortran-env.def (ISOFORTRANENV_FILE_ATOMIC_INT_KIND,
        ISOFORTRANENV_FILE_ATOMIC_LOGICAL_KIND): Change kind value.
        * trans-intrinsic.c (conv_intrinsic_atomic_def,
        conv_intrinsic_atomic_ref, gfc_conv_intrinsic_subroutine): New
        functions.
        (conv_intrinsic_move_alloc) Renamed from
        gfc_conv_intrinsic_move_alloc - and made static.
        * trans.h (gfc_conv_intrinsic_move_alloc): Remove.
        (gfc_conv_intrinsic_subroutine) Add prototype.
        * trans.c (trans_code): Call gfc_conv_intrinsic_subroutine.

From-SVN: r174510
2011-05-31 22:04:09 +02:00
Jakub Jelinek
ead7c399bc dwarf2out.c (resolve_addr_in_expr): Optimize away redundant DW_OP_GNU_convert ops.
* dwarf2out.c (resolve_addr_in_expr): Optimize away redundant
	DW_OP_GNU_convert ops.

From-SVN: r174509
2011-05-31 21:15:13 +02:00
Jakub Jelinek
509f4495ee cselib.c (promote_debug_loc): Allow l->next non-NULL for cselib_preserve_constants.
* cselib.c (promote_debug_loc): Allow l->next non-NULL for
	cselib_preserve_constants.
	(cselib_lookup_1): If cselib_preserve_constants,
	a new VALUE is being created for REG and there is a VALUE for the
	same register in wider mode, add another loc with lowpart SUBREG of
	the wider VALUE.
	(cselib_subst_to_values): Handle ENTRY_VALUE.
	* var-tracking.c  (replace_expr_with_values): Return NULL for
	ENTRY_VALUE too.
	* dwarf2out.c (convert_descriptor_to_signed): New function.
	(mem_loc_descriptor) <case ZERO_EXTEND>: Optimize using DW_OP_and
	instead of two shifts.
	(mem_loc_descriptor) <do_shift>: ZERO_EXTEND second argument to
	the right mode if needed.
	(mem_loc_descriptor) <case MOD>: For typed ops just use DW_OP_mod.
	(mem_loc_descriptor) <case UNSIGNED_FIX>: Use
	convert_descriptor_to_signed.
	(mem_loc_descriptor) <case UDIV, CLZ, CTZ, FFS, POPCOUNT, PARITY,
	BSWAP, ROTATE, ROTATERT>: Handle these rtls.

	* gcc.dg/guality/bswaptest.c: New test.
	* gcc.dg/guality/clztest.c: New test.
	* gcc.dg/guality/ctztest.c: New test.
	* gcc.dg/guality/rotatetest.c: New test.

From-SVN: r174508
2011-05-31 21:14:21 +02:00
Jakub Jelinek
7351d8da1b re PR target/48688 ([x64]: shift/or instead of lea)
PR target/48688
	* config/i386/i386.md (*lea_general_4): New define_insn_and_split.

	* gcc.target/i386/pr48688.c: New test.

From-SVN: r174507
2011-05-31 21:12:25 +02:00
Fabien Chêne
ff7714547f re PR c++/48010 (typedef redefinitions are allowed if the redefined type is a nested class type)
gcc/cp/ChangeLog

2010-05-31  Fabien Chene  <fabien@gcc.gnu.org>

	PR c++/48010
	* name-lookup.c (supplement_binding_1): If the old binding was a
	type name, also check that the DECL actually refers to the same
	type or is not a type.

gcc/testsuite/ChangeLog

2010-05-31  Fabien Chene  <fabien@gcc.gnu.org>

	PR c++/48010
	* g++.dg/lookup/name-clash9.C: New.

From-SVN: r174506
2011-05-31 21:02:19 +02:00
Tobias Burnus
d73b65b6db re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-31  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * trans-array.c (gfc_trans_dummy_array_bias): Handle
        cobounds of assumed-shape arrays.

2011-05-31  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray/dummy_1.f90: New.

From-SVN: r174504
2011-05-31 20:40:55 +02:00
Tobias Burnus
9f3761c527 re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-31  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * resolve.c (resolve_fl_variable): Handle static coarrays
        with non-constant cobounds.
        (resolve_symbol): Handle SAVE statement without arguments
        for coarrays.
        * trans-array.c (gfc_trans_array_cobounds): New function.
        (gfc_trans_array_bounds): Place code by call to it.
        * trans-array.h (gfc_trans_array_cobounds): New prototype.
        * trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars):
        Handle static coarrays with nonconstant cobounds.

2011-05-31  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray/save_1.f90: New.
        * gfortran.dg/coarray_4.f90: Update dg-error.

From-SVN: r174503
2011-05-31 20:25:51 +02:00
Ian Lance Taylor
4ed2ca85c2 libgo: Define PtraceRegs for Alpha GNU/Linux.
From Uros Bizjak.

From-SVN: r174502
2011-05-31 18:15:14 +00:00
Ian Lance Taylor
81a75bb28f os: Correct Ctime_ns calculation.
From-SVN: r174501
2011-05-31 18:08:48 +00:00
Ian Lance Taylor
f718d442f6 libgo/mksysinfo: Remove structs within stat found on Alpha.
From-SVN: r174500
2011-05-31 18:06:47 +00:00
Jason Merrill
e87b4dde32 re PR c++/44870 ([C++0x] error when calling function with rvalue argument inside template)
PR c++/44870
	* tree.c (lvalue_kind): Recurse on NON_DEPENDENT_EXPR.  Handle
	ARROW_EXPR, TYPEID_EXPR, and arbitrary class-valued expressions.
	(build_min_non_dep): Preserve reference refs.
	(build_min_non_dep_call_vec): Likewise

From-SVN: r174499
2011-05-31 14:06:39 -04:00
Uros Bizjak
5cc93ee099 i386.md: Use SWI248x instead of X87MODEI...
* config/i386/i386.md: Use SWI248x instead of X87MODEI, SWI24 instead
	of X87MODEI12 and SWI48x instead of SSEMODEI24.
	(SWI248x): New mode iterator, rename from X87MODEI.
	(X87MODEI): Remove mode iterator.
	(X87MODEI12): Ditto.
	(SSEMODEI24): Ditto.

From-SVN: r174498
2011-05-31 19:43:04 +02:00
Alexandre Oliva
f0686e7897 params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): New.
* params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): New.
* doc/invoke.texi: Document max-vartrack-expr-depth.
* var-tracking.c (EXPR_DEPTH): New.
(reverse_op, vt_expand_loc, vt_expand_loc_dummy): Use it.

From-SVN: r174494
2011-05-31 16:25:50 +00:00
Alexandre Oliva
f330841314 i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
* config/i386/i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
* config/i386/sse.md: Add n to negated FMA pattern names.

From-SVN: r174493
2011-05-31 16:25:15 +00:00
Alexandre Oliva
28c14a046d * gcc.c (driver_handle_option): Fix disabling of -fcompare-debug.
From-SVN: r174492
2011-05-31 16:24:47 +00:00
Alexandre Oliva
70efc82d54 gengtype-state.c (read_state_params_structs): Initialize previous.
* gengtype-state.c (read_state_params_structs): Initialize
previous.

From-SVN: r174491
2011-05-31 16:24:08 +00:00
Uros Bizjak
6ba5d85618 i386.md (*movtf_internal): Avoid allocating general registers.
* config/i386/i386.md (*movtf_internal): Avoid allocating general
	registers.  Penalize F*r->o alternative to prevent partial memory
	stalls.  Slightly penalize *roF->*r alternative.  Generate SSE
	CONST_DOUBLE immediates when optimizing function for size.  Do not move
	CONST_DOUBLEs directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
	(*movxf_internal): Slightly penalize Yx*roF->Yx*r alternative.
	(*movdf_internal): Slightly penalize Yd*roF->Yd*r alternative.
	(*movdf_internal_rex64): Slightly penalize rm->r, F->m and r->m
	alternatives.
	(*movsf_internal): Slightly penalize rmF->r and Fr->m alternatives.

	(fp_register_operand splitters): Use fp_register_operand
	constraint.  Do not use FP_REG_P in insn condition.
	(any_fp_register_operand splitters): Use any_fp_register_operand
	constraint.  Do not use ANY_FP_REG_P in insn condition.

	* config/i386/i386.md (*pushxf_nointeger): Merge alternatives 1 and 2.
	(FP push_operand splitters): Merge {TF,XF,DF}mode splitters.

From-SVN: r174489
2011-05-31 18:14:08 +02:00
Jan Hubicka
533c07c594 cgraph.h (cgraph_inline_failed_t): Give enum a name
* cgraph.h (cgraph_inline_failed_t): Give enum a name
	* lto-cgraph.c (LDPR_NUM_KNOWN): New macro.
	(LTO_cgraph_tags): Add LTO_cgraph_last_tag.
	(lto_output_edge): Use output_enum and var_len_unsigned.
	(lto_output_varpool_node): Likewise.
	(input_overwrite_node): Do not take resolution parameter;
	extract it from a bitpack.
	(input_node): Do not read resolution; use input_enum and
	var_len_unsigned.
	(input_varpool_node): Likewise.
	(input_edge): Likewise.
	(input_cgraph_1): Likewise.

From-SVN: r174487
2011-05-31 14:58:49 +00:00
Richard Guenther
2611db71ea gimple.c (gimple_register_canonical_type): Do not register any types via gimple_register_type.
2011-05-31  Richard Guenther  <rguenther@suse.de>

	* gimple.c (gimple_register_canonical_type): Do not register
	any types via gimple_register_type.

From-SVN: r174483
2011-05-31 14:24:22 +00:00
Jan Hubicka
b9e57365de lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl of thunks.
* lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl
	of thunks.

From-SVN: r174482
2011-05-31 14:15:17 +00:00
H.J. Lu
e67e39c2b5 Revert accidental svn commit r174473
From-SVN: r174480
2011-05-31 15:02:40 +02:00
Paolo Carlini
cea8c6deef basic_string.h: Use noexcept per the FDIS (minus compare(const string&)...
2011-05-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h: Use noexcept per the FDIS (minus
	compare(const string&), which uses char_traits::compare, which
	isn't noexcept; also no noexcept in the move assignment operator
	and move assign, see c++std-lib-30855).
	* include/bits/basic_string.tcc: Likewise.
	* include/ext/vstring.h: Likewise.
	* include/ext/vstring.tcc: Likewise.
	* include/debug/string: Likewise.

From-SVN: r174479
2011-05-31 12:50:31 +00:00
Jakub Jelinek
35979cc235 re PR rtl-optimization/49235 (ICE: in int_mode_for_mode, at stor-layout.c:424 with -O -fno-delete-null-pointer-checks -fno-tree-scev-cprop -ftree-vectorize -fno-vect-cost-model)
PR rtl-optimization/49235
	* tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
	(create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.

	* gcc.dg/pr49235.c: New test.

From-SVN: r174478
2011-05-31 14:34:42 +02:00
Ira Rosen
8f7de592d3 re PR tree-optimization/49093 (ICE in vect_enhance_data_refs_alignment() with volatile inside peeled loop)
PR tree-optimization/49093
        * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for
        volatile data references.

From-SVN: r174477
2011-05-31 12:31:04 +00:00
Dodji Seketeli
8d8a3bda40 re PR debug/49047 (DW_AT_linkage_name missing for constructors and destructors)
Fix PR debug/49047

gcc/

	* dwarf2out.c (gen_subprogram_die): Emit linkage name attribute
	for concrete functions containing the code of cloned functions.

gcc/testsuite/

	* g++.dg/debug/dwarf2/cdtor-1.C: New test.

From-SVN: r174474
2011-05-31 14:17:21 +02:00
Dodji Seketeli
6e8c8b2300 Revert "Fix PR debug/49047"
This reverts commit ce20032a8ad4d9d4fa37192e2ecc73cb257094e8.

From-SVN: r174473
2011-05-31 14:17:06 +02:00
Dodji Seketeli
874e7c171c re PR debug/49047 (DW_AT_linkage_name missing for constructors and destructors)
Fix PR debug/49047

gcc/

	* dwarf2out.c (gen_subprogram_die): Emit linkage name attribute
	for concrete functions containing the code of cloned functions.

gcc/testsuite/

	* g++.dg/debug/dwarf2/cdtor-1.C: New test.

From-SVN: r174472
2011-05-31 14:09:06 +02:00
H.J. Lu
755b3b7cf7 Use __sync_bool_compare_and_swap in x86 locks.h.
2011-05-31  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/49193
	* configure.host (sysdeps_dir): Set to i386 for x86_64.

	* sysdep/i386/locks.h (compare_and_swap): Call
	__sync_bool_compare_and_swap.
	(release_set): Call write_barrier ().

	* sysdep/x86-64/locks.h: Removed.

From-SVN: r174471
2011-05-31 04:53:34 -07:00
Richard Guenther
2e87621cb0 tree-ssa-forwprop.c (forward_propagate_into_comparison): Rename to ...
2011-05-31  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-forwprop.c (forward_propagate_into_comparison): Rename
	to ...
	(forward_propagate_into_comparison_1): ... this.
	(forward_propagate_comparison): Rename to ...
	(forward_propagate_into_comparison): ... this.  Split out
	real forward propagation code to ...
	(forward_propagate_comparison): ... this.
	(forward_propagate_into_gimple_cond): Remove looping.
	(forward_propagate_into_cond): Likewise.
	(simplify_not_neg_expr): Return whether we have done something.
	(simplify_gimple_switch): Likewise.
	(tree_ssa_forward_propagate_single_use_vars): Rename to ...
	(ssa_forward_propagate_and_combine): ... this.  Re-structure
	to do a forward forward-propagation walk on BBs and a backward
	stmt combining walk on BBs.  Consistently re-scan changed
	statements.
	(pass_forwprop): Adjust.

From-SVN: r174470
2011-05-31 09:37:46 +00:00
Ira Rosen
7bc91385c6 re PR testsuite/49239 (Random gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c failure)
PR testsuite/49239
	* gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: Initialize the
	output array.

From-SVN: r174469
2011-05-31 08:15:25 +00:00
Jonathan Wakely
6e31553b28 status_cxx200x.xml: Update.
2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/status_cxx200x.xml: Update.
	* doc/html/*: Regenerate.

From-SVN: r174468
2011-05-31 09:11:15 +01:00
Ian Lance Taylor
5a880d5d95 godump.c (go_format_type): Correct length of name added to obstack for anonymous field.
* godump.c (go_format_type): Correct length of name added to
	obstack for anonymous field.

From-SVN: r174465
2011-05-31 05:34:45 +00:00
Paolo Carlini
dd7b175ec3 type_traits (__or_, __and_): Add trivial definitions for a single element.
2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (__or_, __and_): Add trivial definitions
	for a single element.
	* include/bits/stl_pair.h: Use __and_ in noexcept specs and
	constraints.
	(pair<>::pair(pair&&)): Define.
	(pair<>::pair(const pair<>&)): Constrain with is_convertible.
	(pair<>::pair(pair<>&&)): Likewise, remove noexcept.
	* include/std/tuple: Use __and_ in noexcept specs and constraints.
	(_Tuple_impl<>::_Tuple_impl(allocator_arg_t, const _Alloc&,
	_Tuple_impl&&)): Remove noexcept.
	(tuple<>::tuple(_UElements&&...), tuple(const tuple<_UElements...>&),
	tuple(tuple<_UElements...>&&), tuple(const pair<_U1, _U2>&),
	tuple(pair<_U1, _U2>&&)): Constrain with is_convertible.
	* testsuite/20_util/tuple/moveable2.cc: Use = delete.
	* 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.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

From-SVN: r174464
2011-05-31 02:29:22 +00:00
GCC Administrator
c7dfcaeb52 Daily bump.
From-SVN: r174463
2011-05-31 00:19:22 +00:00
Jonathan Wakely
59d6607d6f tuple: Restore is_convertible constraint.
2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/tuple: Restore is_convertible constraint.
	* testsuite/20_util/tuple/cons/allocate_noncopyable.cc: Remove.

From-SVN: r174458
2011-05-31 00:46:13 +01:00
Kaz Kojima
5f1330380a sh.c (expand_cbranchdi4): Set msw_skip when the high part of the second operand is 0.
* config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
	part of the second operand is 0.
	* gcc.c-torture/execute/pr49186.c: New.

From-SVN: r174456
2011-05-30 22:56:32 +00:00
Paolo Carlini
283e624c9f re PR libstdc++/49236 (FAIL: 20_util/weak_ptr/comparison/cmp_neg.cc)
2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/49236
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
	line number.

From-SVN: r174455
2011-05-30 21:14:01 +00:00
Uros Bizjak
b17d542637 i386.md (*movxf_internal): Penalize FYx*r->o alternative to prevent partial memory stalls.
* config/i386/i386.md (*movxf_internal): Penalize FYx*r->o alternative
	to prevent partial memory stalls.  Do not move CONST_DOUBLEs directly
	to memory for !TARGET_MEMORY_MISMATCH_STALL.
	(*movdf_internal_rex64): Do not penalize F->r alternative.
	(*movdf_internal):  Penalize FYd*r->o alternative to prevent partial
	memory stalls.  Generate SSE and x87 CONST_DOUBLE immediates only
	when optimizing function for size.  Do not move CONST_DOUBLEs
	directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
	(FP move splitters): Merge {TF,XF,DF}mode move splitters.  Do not
	handle SUBREGs.  Do not check for MEM_P operands in the insn condition,
	check for ANY_FP_REGNO_P instead.
	* config/i386/constraints.md (Yd): Enable GENERAL_REGS for
	TARGET_64BIT and for TARGET_INTEGER_DFMODE_MOVES when optimizing
	function for speed.
	* config/i386/i386.c (ix86_option_override_internal): Do not
	set TARGET_INTEGER_DFMODE_MOVES here.

From-SVN: r174453
2011-05-30 22:55:30 +02:00
H.J. Lu
a0cd843f4d Handle misaligned TFmode load/store.
gcc/

2011-05-30  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/49168
	* config/i386/i386.md (*movtf_internal): Handle misaligned
	load/store.

gcc/testsuite/

2011-05-30  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/49168
	 * gcc.target/i386/pr49168-1.c: New.

From-SVN: r174451
2011-05-30 13:00:11 -07:00
Jakub Jelinek
006a5f38b9 dwarf2out.c (modified_type_die, [...]): Use DW_TAG_rvalue_reference_type even for -gdwarf-4 -fno-debug-types-section.
* dwarf2out.c (modified_type_die, gen_reference_type_die): Use
	DW_TAG_rvalue_reference_type even for
	-gdwarf-4 -fno-debug-types-section.

From-SVN: r174449
2011-05-30 21:21:26 +02:00
Bill Schmidt
6e96f98aec re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on powerpc)
2011-05-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/46728
	* tree-ssa-math-opts.c (build_and_insert_call): Reorder parms.
	(build_and_insert_binop): New.
	(gimple_expand_builtin_pow): Reorder args for
	build_and_insert_call; use build_and_insert_binop; add more
	optimizations for fractional exponents.

From-SVN: r174446
2011-05-30 17:12:53 +00:00
Nathan Froyd
4f60111fd4 re PR c/4910 (imacat <imacat@mail.imacat.idv.tw>)
fix PR bootstrap/4910
gcc/
	PR bootstrap/49190

	Revert:
	2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>

	* tree.h (struct tree_identifier): Inherit from tree_typed, not
	tree_common.
	(HT_IDENT_TO_GCC_IDENT): Adjust for said change.
	* tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
	TS_BASE instead of TS_COMMON.
	* varasm.c (assemble_name): Remove assert.

gcc/c-family/
	PR bootstrap/49190

	Revert:
	2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>

	* c-common.h (struct c_common_identifier): Inherit from tree_typed,
	not tree_common.

From-SVN: r174445
2011-05-30 16:42:05 +00:00
Jonathan Wakely
b821466067 tuple: Implement uses-allocator construction.
2011-05-30  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/tuple: Implement uses-allocator construction.
	* include/bits/allocator.h (uses_allocator): Move to ...
	* include/bits/uses_allocator.h: New file.
	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* testsuite/20_util/uses_allocator/cons_neg.cc: New.
	* testsuite/20_util/uses_allocator/construction.cc: New.
	* testsuite/20_util/tuple/cons/allocate_noncopyable.cc: New.
	* testsuite/20_util/tuple/cons/allocators.cc: New.

From-SVN: r174443
2011-05-30 17:31:17 +01:00
Richard Sandiford
3fd7879d12 config.gcc: Keep obselete list sorted.
gcc/
	* config.gcc: Keep obselete list sorted.

From-SVN: r174442
2011-05-30 16:27:54 +00:00
Jakub Jelinek
80060f7ac2 var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with crtl->args.internal_arg_pointer based address to...
* var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with
	crtl->args.internal_arg_pointer based address to arg_pointer_rtx if
	there is a DRAP register and arg_pointer_rtx is the CFA pointer.
	(vt_init_cfa_base): Don't equate cfa_base_rtx if stack was realigned.
	(vt_initialize): Initialize cfa_base_rtx if there is a DRAP register.

From-SVN: r174438
2011-05-30 15:16:40 +00:00