Ramana Radhakrishnan [Tue, 22 Apr 2014 10:05:48 +0000 (10:05 +0000)]
[ARM] Allow any register for DImode values in Thumb2
Ramana commented in the submission email:
I noticed that for T32 we don't allow any old register for DImode
values. The restriction of an even register is true only for ARM state
because the ISA doesn't allow any old register in this place. In a few
large .i files that I had knocking about, noticed a nice drop in stack
usage and a generally improved register allocation strategy.
From-SVN: r209615
Ian Bolton [Tue, 22 Apr 2014 09:59:50 +0000 (09:59 +0000)]
Optimise NotDI AND/OR ZeroExtendSI for ARMv7A
[gcc]
* config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
* config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
[gcc/testsuite]
* gcc.target/arm/anddi_notdi-1.c: New test.
* gcc.target/arm/iordi_notdi-1.c: New test case.
From-SVN: r209614
Ian Bolton [Tue, 22 Apr 2014 09:50:33 +0000 (09:50 +0000)]
AArch32 Support ORN for DIMode
[gcc]
* config/arm/thumb2.md (*iordi_notdi_di): New pattern.
(*iordi_notzesidi_di): Likewise.
(*iordi_notsesidi_di): Likewise.
[gcc/testsuite]
* gcc.target/arm/iordi_notdi-1.c: New test.
From-SVN: r209613
Ian Bolton [Tue, 22 Apr 2014 09:33:00 +0000 (09:33 +0000)]
arm-protos.h (tune_params): New struct members.
* config/arm/arm-protos.h (tune_params): New struct members.
* config/arm/arm.c: Initialise tune_params per processor.
(thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
for speed, based on new tune_params.
From-SVN: r209561
Alex Velenko [Tue, 22 Apr 2014 08:39:48 +0000 (08:39 +0000)]
[AArch64] vrnd<*>_f64 patch
This patch adds vrnd<*>_f64 aarch64 intrinsics. A testcase for those
intrinsics is added. Run a complete LE and BE regression run with no
regressions.
From-SVN: r209559
Jakub Jelinek [Tue, 22 Apr 2014 08:23:08 +0000 (10:23 +0200)]
* gennews (files): Add files for GCC 4.9.
From-SVN: r209557
Zhenqiang Chen [Tue, 22 Apr 2014 08:12:22 +0000 (08:12 +0000)]
arm.c (arm_print_operand, thumb_exit): Make sure GET_MODE_SIZE argument is enum machine_mode.
2014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
GET_MODE_SIZE argument is enum machine_mode.
From-SVN: r209556
Jakub Jelinek [Tue, 22 Apr 2014 07:25:12 +0000 (09:25 +0200)]
re PR target/60910 (sparc-linux bootstrap failure due to many "invalid conversion from 'int' to 'machine_mode'" errors)
PR target/60910
* config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
From-SVN: r209555
Lin Zuojian [Tue, 22 Apr 2014 05:55:40 +0000 (05:55 +0000)]
re PR middle-end/60281 (Address Sanitizer triggers alignment fault in ARM machines)
PR middle-end/60281
* asan.c (asan_emit_stack_protection): Force the base to align to
appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
appropriate bits if STRICT_ALIGNMENT.
* cfgexpand.c (expand_stack_vars): Set base_align appropriately
when asan is on.
(expand_used_vars): Leave a space in the stack frame for alignment
if STRICT_ALIGNMENT.
From-SVN: r209554
GCC Administrator [Tue, 22 Apr 2014 00:16:28 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r209553
David Malcolm [Mon, 21 Apr 2014 22:04:01 +0000 (22:04 +0000)]
Const-correctness fixes for some gimple accessors
gcc/
* gimple.h (gimple_assign_single_p): Accept a const_gimple rather
than a gimple.
(gimple_store_p): Likewise.
(gimple_assign_load_p): Likewise.
(gimple_assign_cast_p): Likewise.
(gimple_clobber_p): Likewise.
* doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
rather than a gimple.
(gimple_assign_cast_p): Likewise.
From-SVN: r209548
Michael Meissner [Mon, 21 Apr 2014 20:51:37 +0000 (20:51 +0000)]
re PR target/60735 (GCC targeting E500 with SPE has errors with the _Decimal64 type)
[gcc]
2014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60735
* config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
If mode is DDmode and TARGET_E500_DOUBLE allow move.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
more debug information for E500 if -mdebug=reg.
[gcc/testsuite]
2014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60735
* gcc.target/powerpc/pr60735.c: New test. Insure _Decimal64 does
not cause errors if -mspe.
From-SVN: r209546
Uros Bizjak [Mon, 21 Apr 2014 18:34:10 +0000 (20:34 +0200)]
re PR target/60909 (ICE: in extract_insn, at recog.c:2202 (unrecognizable insn) with -mrdrnd and __builtin_ia32_rdrand32_step())
PR target/60909
* config/i386/i386.c (ix86_expand_builtin)
<case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
register for target RTX.
<case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
Testsuite/ChangeLog:
PR target/60909
* gcc.target/i386/pr60909-1.c: New test.
* gcc.target/i386/pr60909-2.c: Ditto.
From-SVN: r209545
Rafael Ávila de Espíndola [Mon, 21 Apr 2014 13:38:17 +0000 (13:38 +0000)]
* MAINTAINERS (Write After Approval): Delete myself.
From-SVN: r209544
GCC Administrator [Mon, 21 Apr 2014 00:16:49 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r209542
GCC Administrator [Sun, 20 Apr 2014 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r209534
GCC Administrator [Sat, 19 Apr 2014 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r209530
Cong Hou [Fri, 18 Apr 2014 19:53:14 +0000 (15:53 -0400)]
Correct the discription in ChangLog:
2014-04-18 Cong Hou <congh@google.com>
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
the widen-mult pattern by handling two operands with different
sizes, and operands whose size is smaller than half of the result
type.
From-SVN: r209525
Cong Hou [Fri, 18 Apr 2014 19:46:49 +0000 (15:46 -0400)]
tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance the widen-mult pattern by handling two operands with different sizes.
2014-04-18 Cong Hou <congh@google.com>
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
the widen-mult pattern by handling two operands with different
sizes.
* tree-vect-stmts.c (vectorizable_conversion): Allow multi-steps
conversions after widening mult operation.
(supportable_widening_operation): Likewise.
2014-04-18 Cong Hou <congh@google.com>
* gcc.dg/vect/vect-widen-mult-u8-s16-s32.c: New test.
* gcc.dg/vect/vect-widen-mult-u8-u32.c: New test.
From-SVN: r209524
Jan Hubicka [Fri, 18 Apr 2014 19:36:01 +0000 (21:36 +0200)]
ipa-inline.h (INLINE_HINT_known_hot): New hint.
* ipa-inline.h (INLINE_HINT_known_hot): New hint.
* ipa-inline-analysis.c (dump_inline_hints): Dump it.
(do_estimate_edge_time): Compute it.
* ipa-inline.c (want_inline_small_function_p): Bypass
INLINE_INSNS_AUTO/SINGLE limits for calls that are known
to be hot.
From-SVN: r209523
Jan Hubicka [Fri, 18 Apr 2014 18:30:45 +0000 (20:30 +0200)]
ipa-inline.c (spec_rem): New static variable.
* ipa-inline.c (spec_rem): New static variable.
(dump_overall_stats): New function.
(dump_inline_stats): New function.
From-SVN: r209522
Jason Merrill [Fri, 18 Apr 2014 18:13:53 +0000 (14:13 -0400)]
DR 1571
DR 1571
* call.c (reference_binding): Recurse on user-defined conversion.
From-SVN: r209521
Jason Merrill [Fri, 18 Apr 2014 18:11:22 +0000 (14:11 -0400)]
re PR c++/60872 (Cannot memcpy array of restricted pointers)
PR c++/60872
* call.c (standard_conversion): Don't try to apply restrict to void.
From-SVN: r209520
Richard Henderson [Fri, 18 Apr 2014 15:52:50 +0000 (08:52 -0700)]
aarch64: Fix build error in aarch64_register_move_cost
* config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
to GET_MODE_SIZE, not a reg_class_t.
From-SVN: r209517
Bill Schmidt [Fri, 18 Apr 2014 13:31:57 +0000 (13:31 +0000)]
vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
[gcc]
2014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for
little-endian.
(vsx_xxmrglw_<mode>): Likewise.
[gcc/testsuite]
2014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vmx/merge-vsx.c: Add V4SI and V4SF tests.
* gcc.dg/vmx/merge-vsx-be-order.c: Likewise.
From-SVN: r209516
GCC Administrator [Fri, 18 Apr 2014 00:16:28 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r209513
Ian Lance Taylor [Thu, 17 Apr 2014 23:39:23 +0000 (23:39 +0000)]
gofrontend: deduplicate C syscall function declarations
A gccgo language extension allows a function to be declared multiple
times. Avoid the use of this extension by dedeplicating declarations
in mksyscall.awk.
From-SVN: r209508
Ian Lance Taylor [Thu, 17 Apr 2014 23:27:31 +0000 (23:27 +0000)]
runtime: remove use of obsolete map deletion syntax
The use of this syntax was eliminated upstream in Go
992248b2adc2,
but this particular use slipped through somehow.
From-SVN: r209506
Ian Lance Taylor [Thu, 17 Apr 2014 23:13:39 +0000 (23:13 +0000)]
gofrontend: avoid use of unsafe.Sizeof extension
Avoid the use of a gccgo language extension which allows unsafe.Sizeof
to accept a type by passing an expression of the relevant type.
From-SVN: r209503
Paolo Carlini [Thu, 17 Apr 2014 21:56:46 +0000 (21:56 +0000)]
re PR c++/59200 (ICE with invalid alias template use)
2014-04-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59200
* g++.dg/cpp0x/alias-decl-42.C: New.
From-SVN: r209499
Michael Meissner [Thu, 17 Apr 2014 21:50:58 +0000 (21:50 +0000)]
re PR target/60876 (2014-04-17 change to machmode.h breaks PowerPC)
2014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60876
* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
GET_MODE_SIZE gets passed an enum machine_mode type and not
integer.
(rs6000_init_hard_regno_mode_ok): Likewise.
From-SVN: r209498
Chris Manghane [Thu, 17 Apr 2014 20:42:31 +0000 (20:42 +0000)]
compiler: Use backend interface for constant expressions.
* go-gcc.cc (Gcc_backend::named_constant_expression): New
function.
From-SVN: r209495
Ian Lance Taylor [Thu, 17 Apr 2014 19:27:22 +0000 (19:27 +0000)]
re PR go/60870 (go interface methods broken on ppc64le (bug296.go))
PR go/60870
compiler: Don't convert function type for an interface method.
For an interface method the function type is the type without
the receiver, which is wrong since we are passing a receiver.
The interface method will always have the correct type in this
case, so no type conversion is necessary.
Also don't do the type conversion when calling a named
function, since in that case the type is also always correct.
The type can be wrong, and the conversion required, when the
function type refers to itself recursively.
From-SVN: r209494
Ian Lance Taylor [Thu, 17 Apr 2014 19:10:27 +0000 (19:10 +0000)]
compiler: Define immutability for numeric, constant, type info, type conversion, and addressof expressions.
From-SVN: r209493
Jan Hubicka [Thu, 17 Apr 2014 18:35:54 +0000 (20:35 +0200)]
ipa-inline.c (inline_small_functions): Account only non-cold functions.
* ipa-inline.c (inline_small_functions): Account only non-cold
functions.
* doc/invoke.texi (inline-unit-growth): Update documentation.
From-SVN: r209490
Pat Haugen [Thu, 17 Apr 2014 18:26:47 +0000 (18:26 +0000)]
rs6000.md (addti3, subti3): New.
* config/rs6000/rs6000.md (addti3, subti3): New.
* gcc.target/powerpc/ti_math1.c: New.
* gcc.target/powerpc/ti_math2.c: New.
From-SVN: r209489
H.J. Lu [Thu, 17 Apr 2014 15:19:34 +0000 (15:19 +0000)]
Generate "xor reg, reg" if optimizing for size
PR target/60863
* config/i386/i386.c (ix86_expand_clear): Remove outdated
comment. Check optimize_insn_for_size_p instead of
optimize_insn_for_speed_p.
From-SVN: r209488
Martin Jambor [Thu, 17 Apr 2014 13:53:59 +0000 (15:53 +0200)]
gimple-iterator.c (gsi_start_edge): New function.
2014-04-17 Martin Jambor <mjambor@suse.cz>
* gimple-iterator.c (gsi_start_edge): New function.
* gimple-iterator.h (gsi_start_edge): Declare.
* tree-sra.c (single_non_eh_succ): New function.
(disqualify_ops_if_throwing_stmt): Renamed to
disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
having one non-EH successor BB.
(sra_modify_expr): If stmt ends bb, use single non-EH successor to
generate loads into replacements.
(sra_modify_assign): Likewise and and also use the simple path for
such statements.
(sra_modify_function_body): Commit statements on edges.
testsuite/
* gnat.dg/opt34.adb: New.
* gnat.dg/opt34_pkg.ads: Likewise.
From-SVN: r209487
Richard Biener [Thu, 17 Apr 2014 13:50:55 +0000 (13:50 +0000)]
re PR tree-optimization/60849 (bogus comparison result type)
2014-04-17 Richard Biener <rguenther@suse.de>
PR middle-end/60849
* tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
comparison results and add clarifying comment.
From-SVN: r209486
Jakub Jelinek [Thu, 17 Apr 2014 12:49:49 +0000 (14:49 +0200)]
genmodes.c (struct mode_data): Add need_bytesize_adj field.
* genmodes.c (struct mode_data): Add need_bytesize_adj field.
(blank_mode): Initialize it.
(emit_mode_size_inline, emit_mode_nunits_inline,
emit_mode_inner_inline): New functions.
(emit_insn_modes_h): Call them and surround their output with
#if GCC_VERSION >= 4001 ... #endif.
* machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
For GCC_VERSION >= 4001 use mode_*_inline routines instead of
mode_* arrays if the argument is __builtin_constant_p.
* lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
is enum machine_mode.
fortran/
* trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
argument is enum machine_mode.
From-SVN: r209484
Trevor Saunders [Thu, 17 Apr 2014 12:37:34 +0000 (12:37 +0000)]
pass cfun to pass::execute
gcc/
* passes.c (opt_pass::execute): Adjust.
(pass_manager::execute_pass_mode_switching): Likewise.
(early_local_passes::execute): Likewise.
(execute_one_pass): Pass cfun to the pass's execute method.
* tree-pass.h (opt_pass::execute): Add function * argument.
* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
Adjust.
From-SVN: r209482
Trevor Saunders [Thu, 17 Apr 2014 12:37:16 +0000 (12:37 +0000)]
pass current function to opt_pass::gate ()
gcc/
* passes.c (opt_pass::gate): Take function * argument.
(gate_all_early_local_passes): Merge into
(early_local_passes::gate): this.
(gate_all_early_optimizations): Merge into
(all_early_optimizations::gate): this.
(gate_all_optimizations): Mege into
(all_optimizations::gate): this.
(gate_all_optimizations_g): Merge into
(all_optimizations_g::gate): this.
(gate_rest_of_compilation): Mege into
(rest_of_compilation::gate): this.
(gate_postreload): Merge into
(postreload::gate): this.
(dump_one_pass): Pass cfun to the pass's gate method.
(execute_ipa_summary_passes): Likewise.
(execute_one_pass): Likewise.
(ipa_write_summaries_2): Likewise.
(ipa_write_optimization_summaries_1): Likewise.
(ipa_read_summaries_1): Likewise.
(ipa_read_optimization_summaries_1): Likewise.
(execute_ipa_stmt_fixups): Likewise.
* tree-pass.h (opt_pass::gate): Add function * argument.
* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
combine-stack-adj.c, combine.c, compare-elim.c,
config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
var-tracking.c, vtable-verify.c, web.c: Adjust.
gcc/testsuite/
* g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfasign.c,
gcc.dg/plugin/one_time_plugin.c, gcc.dg/plugin/selfasign.c: Adjust.
From-SVN: r209481
Trevor Saunders [Thu, 17 Apr 2014 12:37:05 +0000 (12:37 +0000)]
enable -Woverloaded-virtual when available
gcc/
* configure.ac: Check for -Woverloaded-virtual and enable it if found.
* configure: Regenerate.
From-SVN: r209480
Trevor Saunders [Thu, 17 Apr 2014 12:36:56 +0000 (12:36 +0000)]
remove has_gate
gcc/
* passes.c (dump_one_pass): don't check pass->has_gate.
(execute_ipa_summary_passes): Likewise.
(execute_one_pass): Likewise.
(ipa_write_summaries_2): Likewise.
(ipa_write_optimization_summaries_1): Likewise.
(ipa_read_optimization_summaries_1): Likewise.
(execute_ipa_stmt_fixups): Likewise.
* tree-pass.h (pass_data::has_gate): Remove.
* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
gimple-low.c, gimple-ssa-isolate-paths.c,
gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
Adjust.
gcc/testsuite/
* g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfassign.c,
gcc.dg/plugin/one_time_plugin.c, gcc.dg/plugin/selfassign.c: Adjust.
From-SVN: r209479
Trevor Saunders [Thu, 17 Apr 2014 12:36:41 +0000 (12:36 +0000)]
merge register_dump_files_1 into register_dump_files and remove more fiddling with properties
gcc/
* pass_manager.h (pass_manager::register_dump_files_1): Remove declaration.
* passes.c (pass_manager::register_dump_files_1): Merge into
(pass_manager::register_dump_files): this, and remove its handling of
properties since the pass always has the properties anyway.
(pass_manager::pass_manager): Adjust.
From-SVN: r209478
Trevor Saunders [Thu, 17 Apr 2014 12:36:35 +0000 (12:36 +0000)]
remove properties stuff from register_dump_files_1
gcc/
* pass_manager.h (pass_manager::register_dump_files_1): Adjust.
* passes.c (pass_manager::register_dump_files_1): Remove dead code
dealing with properties.
(pass_manager::register_dump_files): Adjust.
From-SVN: r209477
Jakub Jelinek [Thu, 17 Apr 2014 12:25:25 +0000 (14:25 +0200)]
re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan))
PR sanitizer/56781
lto-plugin/
* Makefile.am (CFLAGS, LDFLAGS): Filter out -fsanitize=address.
(liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS,
liblto_plugin_la_DEPENDENCIES): Prefer ../libiberty/noasan/libiberty.a
over ../libiberty/pic/libiberty.a if the former exists.
* Makefile.in: Regenerated.
libiberty/
* maint-tool: Also emit rule for noasan/ subdirectory.
* configure.ac (NOASANFLAG): Set and substitute.
* Makefile.in: Regenerated.
(NOASANFLAG): Set.
(all, $(TARGETLIB), mostlyclean): Handle noasan subdir like pic
subdir.
(stamp-noasandir): New goal.
* configure: Regenerated.
From-SVN: r209476
Jakub Jelinek [Thu, 17 Apr 2014 12:23:28 +0000 (14:23 +0200)]
re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan))
PR sanitizer/56781
* libtool-ldflags: Also prefix -static-lib*, -shared-lib*
and -B* options with -Xcompiler.
lto-plugin/
* Makefile.am (LTLDFLAGS, liblto_plugin_la_LINK): New variables.
* Makefile.in: Regenerated.
From-SVN: r209475
Mark Wielaard [Thu, 17 Apr 2014 10:36:21 +0000 (10:36 +0000)]
dwarf2out: Use normal constant values in bound_info if possible.
* dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
then represent the bound as normal constant value.
From-SVN: r209473
Jakub Jelinek [Thu, 17 Apr 2014 10:02:36 +0000 (12:02 +0200)]
re PR target/60847 (x86 BMI intrinsics not recognized)
PR target/60847
Forward port from 4.8 branch
2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
* config/i386/bmiintrin.h (_blsi_u32): New.
(_blsi_u64): Ditto.
(_blsr_u32): Ditto.
(_blsr_u64): Ditto.
(_blsmsk_u32): Ditto.
(_blsmsk_u64): Ditto.
(_tzcnt_u32): Ditto.
(_tzcnt_u64): Ditto.
* gcc.target/i386/bmi-1.c: Extend with new instrinsics.
Fix scan patterns.
* gcc.target/i386/bmi-2.c: Ditto.
From-SVN: r209471
Kito Cheng [Thu, 17 Apr 2014 09:01:22 +0000 (09:01 +0000)]
* gcc.c (used_arg): Prevent out of bound access for multilib_options.
From-SVN: r209470
Richard Biener [Thu, 17 Apr 2014 08:13:53 +0000 (08:13 +0000)]
re PR tree-optimization/60849 (bogus comparison result type)
2014-04-17 Richard Biener <rguenther@suse.de>
PR middle-end/60849
* tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
boolean results for comparisons.
* g++.dg/opt/pr60849.C: New testcase.
From-SVN: r209469
Richard Biener [Thu, 17 Apr 2014 08:12:58 +0000 (08:12 +0000)]
re PR c++/60836 (invalid PHI argument and ICE in verify_gimple)
2014-04-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/60836
* tree-vect-loop.c (vect_create_epilog_for_reduction): Force
initial PHI args to be gimple values.
* g++.dg/vect/pr60836.cc: New testcase.
From-SVN: r209468
Richard Biener [Thu, 17 Apr 2014 08:09:02 +0000 (08:09 +0000)]
re PR tree-optimization/60841 (gcc: internal compiler error: Killed (program cc1) out of memory)
2014-04-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/60841
* tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
* tree-vect-loop.c (vect_analyze_loop_2): Pass down number
of stmts to SLP build.
* tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
(vect_analyze_slp): Likewise.
(vect_analyze_slp_instance): Likewise.
(vect_build_slp_tree): Limit overall SLP tree growth.
* tree-vectorizer.h (vect_analyze_data_refs,
vect_analyze_slp): Adjust prototypes.
* gcc.dg/vect/pr60841.c: New testcase.
From-SVN: r209467
Evgeny Stupachenko [Thu, 17 Apr 2014 07:47:37 +0000 (07:47 +0000)]
i386.c (x86_add_stmt_cost): Fix vector cost model for Silvermont.
gcc/
* config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
Silvermont.
From-SVN: r209466
Evgeny Stupachenko [Thu, 17 Apr 2014 07:46:45 +0000 (07:46 +0000)]
x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
gcc/
* config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
* config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
* config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
for TARGET_SLOW_PSHUFB
From-SVN: r209465
Evgeny Stupachenko [Thu, 17 Apr 2014 07:45:42 +0000 (07:45 +0000)]
i386.c (slm_cost): Adjust vec_to_scalar_cost.
gcc/
* config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
* config/i386/i386.c (intel_cost): Ditto.
From-SVN: r209464
Joey Ye [Thu, 17 Apr 2014 07:09:56 +0000 (07:09 +0000)]
opts.c (OPT_fif_conversion, [...]): Disable for Og.
2014-04-17 Joey Ye <joey.ye@arm.com>
* opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
From-SVN: r209463
Jan Hubicka [Thu, 17 Apr 2014 05:59:03 +0000 (07:59 +0200)]
opts.c (common_handle_option): Disable -fipa-reference coorectly with -fuse-profile.
* opts.c (common_handle_option): Disable -fipa-reference coorectly
with -fuse-profile.
From-SVN: r209462
Jan Hubicka [Thu, 17 Apr 2014 02:43:53 +0000 (04:43 +0200)]
ipa-devirt.c (odr_type_d): Add field all_derivations_known.
* ipa-devirt.c (odr_type_d): Add field all_derivations_known.
(type_all_derivations_known_p): New predicate.
(type_all_ctors_visible_p): New predicate.
(type_possibly_instantiated_p): New predicate.
(get_odr_type): Compute all_derivations_known.
(dump_odr_type): Dump the flag.
(maybe_record_type): Cleanup.
(record_target_from_binfo): Add bases_to_consider array;
record bases for types w/o instances and skip CXX destructor.
(possible_polymorphic_call_targets_1): Add bases_to_consider
and consider_construction parameters; check if type may
have instance.
(get_polymorphic_call_info): Set maybe_in_construction to true
when we know nothing.
(record_targets_from_bases): Skip CXX destructors; they are
never called for types in construction.
(possible_polymorphic_call_targets): Do not record target when
type may not have instance.
* g++.dg/ipa/devirt-31.C: New testcase.
From-SVN: r209461
Jan Hubicka [Thu, 17 Apr 2014 02:32:26 +0000 (04:32 +0200)]
re PR lto/60820 (ice in ctor_for_folding, at varpool.c:291)
PR lto/60820
* gcc.dg/lto/pr60820_0.c: New testcase.
* gcc.dg/lto/pr60820_1.c: New testcase.
From-SVN: r209460
Jan Hubicka [Thu, 17 Apr 2014 02:22:57 +0000 (04:22 +0200)]
re PR ipa/60854 (inline constructor of extern template)
PR ipa/60854
* ipa.c (symtab_remove_unreachable_nodes): Mark targets of
external aliases alive, too.
* g++.dg/torture/pr60854.C: New testcase.
From-SVN: r209459
Andrew Pinski [Thu, 17 Apr 2014 00:18:29 +0000 (00:18 +0000)]
host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32 definition.
2014-04-16 Andrew Pinski <apinski@cavium.com>
* config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
definition.
From-SVN: r209457
GCC Administrator [Thu, 17 Apr 2014 00:17:05 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r209456
Eric Botcazou [Wed, 16 Apr 2014 23:31:30 +0000 (23:31 +0000)]
final.c (compute_alignments): Do not apply loop alignment to a block falling through to the exit.
* final.c (compute_alignments): Do not apply loop alignment to a block
falling through to the exit.
From-SVN: r209451
Catherine Moore [Wed, 16 Apr 2014 21:09:30 +0000 (17:09 -0400)]
mips.md (*mov<mode>_internal, [...]): Adjust constraints for microMIPS store patterns.
2014-04-16 Catherine Moore <clm@codesourcery.com>
gcc/
* mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
Adjust constraints for microMIPS store patterns.
testsuite/
* gcc.target/mips/umips-store16-2.c: New test.
From-SVN: r209450
Marc Glisse [Wed, 16 Apr 2014 20:46:47 +0000 (22:46 +0200)]
decl.c (reshape_init_r): Handle a single element of vector type.
2014-04-16 Marc Glisse <marc.glisse@inria.fr>
gcc/cp/
* decl.c (reshape_init_r): Handle a single element of vector type.
gcc/testsuite/
* g++.dg/cpp0x/initlist-vect.C: New file.
From-SVN: r209449
Ian Lance Taylor [Wed, 16 Apr 2014 20:33:57 +0000 (20:33 +0000)]
libgo: Remove Solaris 8 & 9 support.
From Rainer Orth.
From-SVN: r209448
Patrick Palka [Wed, 16 Apr 2014 20:17:46 +0000 (03:17 +0700)]
re PR c++/60765 (Function attributes ignored for pointer-to-member-function parameters)
2014-04-16 Patrick Palka <patrick@parcs.ath.cx>
PR c++/60765
* decl2.c (cplus_decl_attributes): Handle
pointer-to-member-function declarations.
2014-04-16 Patrick Palka <patrick@parcs.ath.cx>
PR c++/60764
* call.c (build_user_type_coversion): Use build_dummy_object
to create the placeholder object for a constructor method call.
(build_special_member_call): Likewise.
(build_over_call): Check for the placeholder object with
is_dummy_object.
(build_new_method_call_1): Likewise. Don't attempt to resolve
a dummy object for a constructor method call.
From-SVN: r209447
Pitchumani Sivanupandi [Wed, 16 Apr 2014 18:26:30 +0000 (22:26 +0400)]
avr-mcus.def: Correct typo for atxmega256a3bu macro.
* config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
From-SVN: r209446
Jonathan Wakely [Wed, 16 Apr 2014 17:46:13 +0000 (18:46 +0100)]
* include/std/functional (__is_location_invariant): Use __or_ helper.
From-SVN: r209445
Paul Pluzhnikov [Wed, 16 Apr 2014 17:39:45 +0000 (10:39 -0700)]
re PR c++/59295 (useless warning: 'Bar' is already a friend of 'Foo' [enabled by default])
2014-04-16 Paul Pluzhnikov <ppluzhnikov@google.com>
PR c++/59295
* friend.c (add_friend, make_friend_class): Move repeated friend
warning under Wredundant_decls.
From-SVN: r209444
Eric Botcazou [Wed, 16 Apr 2014 10:50:58 +0000 (10:50 +0000)]
tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
* tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
(append_use): Run at -O0.
(append_vdef): Likewise.
* tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
* tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
From-SVN: r209443
Jakub Jelinek [Wed, 16 Apr 2014 09:25:52 +0000 (11:25 +0200)]
re PR tree-optimization/60844 (ICE in reassoc_stmt_dominates_stmt_p)
PR tree-optimization/60844
* tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
(propagate_op_to_single_use, remove_visited_stmt_chain,
linearize_expr, repropagate_negates, reassociate_bb): Use it
instead of gsi_remove.
* gcc.dg/pr60844.c: New test.
From-SVN: r209442
Martin Jambor [Wed, 16 Apr 2014 09:20:43 +0000 (11:20 +0200)]
cgraphclones.c (cgraph_create_virtual_clone): Duplicate ipa_transforms_to_apply.
2014-04-16 Martin Jambor <mjambor@suse.cz>
* cgraphclones.c (cgraph_create_virtual_clone): Duplicate
ipa_transforms_to_apply.
(cgraph_function_versioning): Assert that old_node has empty
ipa_transforms_to_apply.
* trans-mem.c (ipa_tm_create_version): Likewise.
* tree-inline.c (tree_function_versioning): Do not duplicate
ipa_transforms_to_apply.
From-SVN: r209441
Rainer Orth [Wed, 16 Apr 2014 09:09:42 +0000 (09:09 +0000)]
Correctly detect native TLS support with 64-bit gas on Solaris/x86 (PR target/60817)
PR target/60817
* configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
x86_64-*-* cases.
Pass necessary as flags on 64-bit Solaris/x86.
Use lowercase relocs for x86_64-*-*.
* configure: Regenerate.
From-SVN: r209440
GCC Administrator [Wed, 16 Apr 2014 00:17:04 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r209439
Jan Hubicka [Tue, 15 Apr 2014 21:01:04 +0000 (23:01 +0200)]
ipa-devirt.c (referenced_from_vtable_p): New predicate.
* ipa-devirt.c (referenced_from_vtable_p): New predicate.
(maybe_record_node, likely_target_p): Use it.
From-SVN: r209435
Jonathan Wakely [Tue, 15 Apr 2014 20:15:38 +0000 (21:15 +0100)]
shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Remove name of unused parameter.
* include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
Remove name of unused parameter.
From-SVN: r209434
Jonathan Wakely [Tue, 15 Apr 2014 19:05:57 +0000 (20:05 +0100)]
* include/experimental/string_view: Fix inconsistent exception specs.
From-SVN: r209433
Jonathan Wakely [Tue, 15 Apr 2014 19:05:52 +0000 (20:05 +0100)]
container.cc: Do not use uninitialized members in mem-initializers.
* testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
not use uninitialized members in mem-initializers.
* testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
* testsuite/util/testsuite_common_types.h: Update comment.
From-SVN: r209432
Jonathan Wakely [Tue, 15 Apr 2014 19:05:45 +0000 (20:05 +0100)]
re PR c++/60786 (In C++11 an explicit instantiation with an unqualified name must be in the right namespace)
PR c++/60786
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1.cc: Fix invalid explicit instantiations with unqualified names.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2.cc: Likweise.
* testsuite/20_util/tuple/53648.cc: Likweise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
Likewise.
* testsuite/23_containers/unordered_map/requirements/
debug_container.cc: Likewise.
* testsuite/23_containers/unordered_map/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/unordered_multimap/requirements/debug.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/unordered_multiset/requirements/debug.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/
debug_container.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/
explicit_instantiation/3.cc: Likewise.
From-SVN: r209431
Jonathan Wakely [Tue, 15 Apr 2014 18:28:57 +0000 (19:28 +0100)]
* include/std/atomic: Uglify parameter names.
From-SVN: r209429
Jonathan Wakely [Tue, 15 Apr 2014 18:28:50 +0000 (19:28 +0100)]
shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use delegating constructor.
* include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
delegating constructor.
* include/bits/shared_ptr_base.h
(__shared_ptr::__shared_ptr(nullptr_t)): Likewise
From-SVN: r209428
Jonathan Wakely [Tue, 15 Apr 2014 18:28:41 +0000 (19:28 +0100)]
atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add const to constexpr member functions.
* include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
const to constexpr member functions.
From-SVN: r209427
Bill Schmidt [Tue, 15 Apr 2014 18:20:01 +0000 (18:20 +0000)]
re PR target/60839 (PowerPC: internal compiler error: in extract_insn, at recog.c:2154)
2014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/60839
Revert following patch
2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60735
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
software floating point or no floating point registers, do not
allow any type in the FPRs. Eliminate a test for SPE SIMD types
in GPRs that occurs after we tested for GPRs that would never be
true.
* config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
specifically allow DDmode, since that does not use the SPE SIMD
instructions.
From-SVN: r209425
Mark Wielaard [Tue, 15 Apr 2014 17:18:20 +0000 (17:18 +0000)]
Add DW_AT_const_value as unsigned or int depending on type and value used.
As the comment in the code already indicated DWARF2 does provide
DW_FORM_sdata/DW_FORM_udata to represent signed/unsigned data.
Enumeration constants wider than HOST_WIDE_INT are already handled
separately. Those constant values that do fit a HOST_WIDE_INT can
be encoded as signed or unsigned depending on type and value for
more efficient encoding.
* dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
as unsigned or int depending on type and value used.
From-SVN: r209424
Richard Biener [Tue, 15 Apr 2014 16:04:11 +0000 (16:04 +0000)]
re PR rtl-optimization/56965 (nonoverlapping_component_refs_p is bogus and slow)
2014-04-15 Richard Biener <rguenther@suse.de>
PR rtl-optimization/56965
* alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
* tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
... here.
* alias.c (true_dependence_1): Do not call
nonoverlapping_component_refs_p.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
nonoverlapping_component_refs_p.
(indirect_refs_may_alias_p): Likewise.
* gcc.dg/torture/pr56965-1.c: New testcase.
* gcc.dg/torture/pr56965-2.c: Likewise.
From-SVN: r209423
Jonathan Wakely [Tue, 15 Apr 2014 15:25:52 +0000 (16:25 +0100)]
re PR libstdc++/60594 (std::function of a type with a declared (but not defined) return type fails to compile)
PR libstdc++/60594
* include/std/functional (function::_Callable): Exclude own type
from the callable checks.
* testsuite/20_util/function/60594.cc: New.
From-SVN: r209422
Teresa Johnson [Tue, 15 Apr 2014 15:12:00 +0000 (15:12 +0000)]
cfg.c (dump_bb_info): Fix flags check.
2014-04-15 Teresa Johnson <tejohnson@google.com>
* cfg.c (dump_bb_info): Fix flags check.
* tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
2014-04-15 Teresa Johnson <tejohnson@google.com>
* gcc.dg/tree-prof/update-loopch.c: Update expected output.
From-SVN: r209421
Paolo Carlini [Tue, 15 Apr 2014 14:31:40 +0000 (14:31 +0000)]
decl.c (duplicate_decls): Remove redundant TYPE_NAME use.
2014-04-15 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (duplicate_decls): Remove redundant TYPE_NAME use.
* name-lookup.c (pushdecl_maybe_friend_1): Likewise.
(do_class_using_decl): Likewise.
* mangle.c (dump_substitution_candidates): Use TYPE_NAME_STRING.
From-SVN: r209420
Kyrylo Tkachov [Tue, 15 Apr 2014 14:04:06 +0000 (14:04 +0000)]
re PR rtl-optimization/60663 (Errors out on valid inline asm)
PR rtl-optimization/60663
* config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
avoid 0 cost.
From-SVN: r209419
Jonathan Wakely [Tue, 15 Apr 2014 13:48:07 +0000 (14:48 +0100)]
re PR libstdc++/60695 (std::atomic<X> doesn't work when X is of zero size)
PR libstdc++/60695
* include/std/atomic (atomic<_Tp>): Add static assertion.
* testsuite/29_atomics/atomic/60695.cc: New.
From-SVN: r209418
Richard Biener [Tue, 15 Apr 2014 13:25:44 +0000 (13:25 +0000)]
lto-streamer.h (LTO_major_version): Bump to 4.
2014-04-15 Richard Biener <rguenther@suse.de>
* lto-streamer.h (LTO_major_version): Bump to 4.
From-SVN: r209417
Richard Biener [Tue, 15 Apr 2014 12:56:16 +0000 (12:56 +0000)]
common.opt (lto_partition_model): New enum.
2014-04-15 Richard Biener <rguenther@suse.de>
* common.opt (lto_partition_model): New enum.
(flto-partition=): Merge separate options with a single with argument,
add -flto-partition=one support.
* flag-types.h (enum lto_partition_model): Declare.
* opts.c (finish_options): Remove duplicate -flto-partition=
option check.
* lto-wrapper.c (run_gcc): Adjust.
lto/
* lto.c: Include params.h.
(do_whole_program_analysis): Switch on flag_lto_partition value,
add support for LTO_PARTITION_ONE.
* lto-partition.h (lto_balanced_map): Adjust.
* lto-partition.c (lto_balanced_map): Get number of desired
partitions as argument to support -flto-partition=one.
From-SVN: r209416
Eric Botcazou [Tue, 15 Apr 2014 11:09:33 +0000 (11:09 +0000)]
* gcc-interface/trans.c (Case_Statement_to_gnu): Revert latest change.
From-SVN: r209415
Jonathan Wakely [Tue, 15 Apr 2014 10:52:06 +0000 (11:52 +0100)]
re PR libstdc++/60734 (Undefined behavior in g++-v4/bits/stl_tree.h)
PR libstdc++/60734
* include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
From-SVN: r209414
Richard Biener [Tue, 15 Apr 2014 10:18:28 +0000 (10:18 +0000)]
alias.c (ncr_compar): New function.
2014-04-15 Richard Biener <rguenther@suse.de>
* alias.c (ncr_compar): New function.
(nonoverlapping_component_refs_p): Re-implement in O (n log n).
From-SVN: r209413
Richard Biener [Tue, 15 Apr 2014 10:09:40 +0000 (10:09 +0000)]
alias.c (record_component_aliases): Do not walk BINFOs.
2014-04-15 Richard Biener <rguenther@suse.de>
* alias.c (record_component_aliases): Do not walk BINFOs.
From-SVN: r209412
Eric Botcazou [Tue, 15 Apr 2014 09:23:21 +0000 (09:23 +0000)]
decl.c (gnat_to_gnu_entity): Create a mere scalar constant instead of a reference for renaming of scalar literal.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a mere
scalar constant instead of a reference for renaming of scalar literal.
Do not create a new object for constant renaming except for a function
call. Make sure a VAR_DECL is created for the renaming pointer.
* gcc-interface/trans.c (constant_decl_with_initializer_p): New.
(fold_constant_decl_in_expr): New function.
(Identifier_to_gnu): Use constant_decl_with_initializer_p.
For a constant renaming, try to fold a constant DECL in the result.
(lvalue_required_p) <N_Object_Renaming_Declaration>: Always return 1.
(Identifier_to_gnu): Reference the renamed object of constant renaming
pointers directly.
(Case_Statement_to_gnu): Do not re-fold the bounds of integer types.
Assert that the case values are constant.
* gcc-interface/utils.c (invalidate_global_renaming_pointers): Do not
invalidate constant renaming pointers.
Co-Authored-By: Pierre-Marie de Rodat <derodat@adacore.com>
From-SVN: r209411