]>
gcc.gnu.org Git - gcc.git/log
Jason Merrill [Wed, 17 Jun 2015 20:45:32 +0000 (16:45 -0400)]
re PR c++/66515 (g++ segfaults when creating an std::initializer_list)
PR c++/66515
* call.c (implicit_conversion): Call reshape_init here, early.
(build_aggr_conv): Not here.
From-SVN: r224581
Jonathan Wakely [Wed, 17 Jun 2015 20:36:42 +0000 (21:36 +0100)]
C++11 allocator support for std::list.
PR libstdc++/55409
* include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits.
(list::list(const list&)): Use allocator propagation trait. Use
_M_assign_dispatch to copy elements.
* include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11.
(_List_node::_M_valptr()): Add accessor for stored value.
(_List_iterator, _List_const_iterator, _List_base): Use _M_valptr().
(_List_base, list): Use allocator traits.
(_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove.
(_List_base::_M_move_nodes): New function.
(_List_base(_List_base&&)): Use _M_move_nodes.
(_List_base(_List_base&&, _Node_alloc_type&&)): New constructor.
(list::_M_create_node, list::_M_erase, list::max_size): Use allocator
traits.
(list(size_type)): Add allocator parameter.
(list(const list&)): Use allocator propagation trait.
(list(const list&, const allocator_type&)): New constructor.
(list(list&&, const allocator_type&)): Likewise.
(list::operator=(list&&), list::swap(list&)): Use allocator
propagation traits.
(list::_M_move_assign): New functions.
* include/debug/list: Add allocator-extended constructors.
* include/profile/list: Likewise.
* python/libstdcxx/v6/printers.py (get_value_from_list_node): New
function to get value from _List_node.
(StdListPrinter): Use get_value_from_list_node.
* testsuite/23_containers/list/allocator/copy.cc: New.
* testsuite/23_containers/list/allocator/copy_assign.cc: New.
* testsuite/23_containers/list/allocator/minimal.cc: New.
* testsuite/23_containers/list/allocator/move.cc: New.
* testsuite/23_containers/list/allocator/move_assign.cc: New.
* testsuite/23_containers/list/allocator/noexcept.cc: New.
* testsuite/23_containers/list/allocator/swap.cc: New.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust dg-prune-output line number.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r224580
Uros Bizjak [Wed, 17 Jun 2015 20:34:57 +0000 (22:34 +0200)]
noplt-1.c (dg-do): Fix target selector.
* gcc.target/i386/noplt-1.c (dg-do): Fix target selector.
* gcc.target/i386/noplt-2.c (dg-do): Ditto.
* gcc.target/i386/noplt-3.c (dg-do): Ditto.
* gcc.target/i386/noplt-4.c (dg-do): ditto.
From-SVN: r224578
Uros Bizjak [Wed, 17 Jun 2015 19:54:10 +0000 (21:54 +0200)]
i386.c (ix86_function_arg): Nest TARGET_64BIT code.
* config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
(ix86_function_arg_advance): Ditto.
(ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
From-SVN: r224576
Andrew MacLeod [Wed, 17 Jun 2015 18:53:03 +0000 (18:53 +0000)]
function.h (struct rtl_data): Remove struct and accessor macros.
2015-06-17 Andrew MacLeod <amacleod@redhat.com>
* function.h (struct rtl_data): Remove struct and accessor macros.
* emit-rtl.h (struct rtl_data): Relocate to here.
* Makefile.in (GTFILES): Add emit-rtl.h.
* df-core.c: Include emit-rtl.h.
* genattrtab.c: Likewise.
* genconditions.c: Likewise.
* genpreds.c: Likewise.
* genrecog.c: Likewise.
* regcprop.c: Likewise.
* resource.c: Likewise.
* sched-rgn.c: Likewise.
* config/aarch64/cortex-a57-fma-steering.c: Likewise.
* config/i386/winnt.c: Likewise.
From-SVN: r224573
Jakub Jelinek [Wed, 17 Jun 2015 18:11:42 +0000 (20:11 +0200)]
re PR middle-end/66429 (ICE in expand_GOMP_SIMD_LAST_LANE)
PR middle-end/66429
* omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
and has_force_vectorize_loops flags from cfun into
child_cfun.
(expand_omp_simd): For broken loop, set cfun->has_simduid_loops
if simduid is non-NULL.
* tree-pass.h (make_pass_simduid_cleanup): New prototype.
* passes.def (pass_simduid_cleanup): Add new pass after loop
passes.
* tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
indirection from htab argument's type.
(shrink_simd_arrays): New function.
(vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
Don't call adjust_simduid_builtins if there are no loops.
(pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
(pass_simduid_cleanup::execute): New method.
(make_pass_simduid_cleanup): New function.
From-SVN: r224571
Jakub Jelinek [Wed, 17 Jun 2015 18:01:05 +0000 (20:01 +0200)]
re PR c++/66571 (Template substitution causes some OpenMP rejects-valid)
PR c++/66571
* pt.c (tsubst_omp_clause_decl): New function.
(tsubst_omp_clauses): Use it or tsubst_copy instead of
tsubst_expr on OMP_CLAUSE_DECL.
* g++.dg/gomp/pr66571-1.C: New test.
From-SVN: r224569
Jakub Jelinek [Wed, 17 Jun 2015 17:59:25 +0000 (19:59 +0200)]
re PR middle-end/66429 (ICE in expand_GOMP_SIMD_LAST_LANE)
PR middle-end/66429
* omp-low.c (expand_omp_taskreg): Use child_cfun instead of
DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
and has_force_vectorize_loops flags from cfun into
child_cfun.
(expand_omp_simd): For broken loop, set cfun->has_simduid_loops
if simduid is non-NULL.
* tree-pass.h (make_pass_simduid_cleanup): New prototype.
* passes.def (pass_simduid_cleanup): Add new pass after loop
passes.
* tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
indirection from htab argument's type.
(shrink_simd_arrays): New function.
(vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
Don't call adjust_simduid_builtins if there are no loops.
(pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
(pass_simduid_cleanup::execute): New method.
(make_pass_simduid_cleanup): New function.
* c-c++-common/gomp/pr66429.c: New test.
From-SVN: r224568
Andrew MacLeod [Wed, 17 Jun 2015 17:55:26 +0000 (17:55 +0000)]
tree-core.h (tree_target_option): Make opts field a pointer to a cl_target_option instead of an instance of the...
2017-06-17 Andrew MacLeod <amacleod@redhat.com>
* tree-core.h (tree_target_option): Make opts field a pointer to a
cl_target_option instead of an instance of the struct.
* tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
the structure.
* tree.c (make_node_stat ): Allocate a cl_target_option struct for
TARGET_OPTION_NODE.
(copy_node_stat): Allocate and copy struct cl_target_option.
From-SVN: r224567
Jonathan Wakely [Wed, 17 Jun 2015 17:45:45 +0000 (18:45 +0100)]
forward_list.h (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to rvalue-reference.
* include/bits/forward_list.h
(_Fwd_list_base(const _Node_alloc_type&)): Change parameter to
rvalue-reference.
(_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise.
(forward_list(const _Alloc&)): Split default constructor out to
separate function.
(forward_list(forward_list&&, const _Alloc&)): Move elements if base
class didn't do so.
(forward_list::_M_move_assign(forward_list&&, true_type)): Replace
swap call with two assignments.
* include/bits/forward_list.tcc
(_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't
move elements when allocators are not equal.
* include/debug/forward_list (forward_list(const allocator_type&)):
Split default constructor out to separate function.
* include/profile/forward_list (forward_list(const _Alloc&)):
Likewise.
From-SVN: r224566
David Malcolm [Wed, 17 Jun 2015 16:04:18 +0000 (16:04 +0000)]
jit: Add missing type-checking to gcc_jit_{l|r}value_access_field
gcc/jit/ChangeLog:
* libgccjit.c (gcc_jit_lvalue_access_field): Verify that the field
is for the correct struct.
(gcc_jit_rvalue_access_field): Likewise.
gcc/testsuite/ChangeLog:
* jit.dg/test-error-accessing-field-in-other-struct.c: Rename to...
* jit.dg/test-error-gcc_jit_rvalue_dereference_field-wrong-struct.c:
...this.
* jit.dg/test-error-gcc_jit_lvalue_access_field-wrong-struct.c:
New testcase.
* jit.dg/test-error-gcc_jit_rvalue_access_field-wrong-struct.c:
New testcase.
From-SVN: r224565
Andrew MacLeod [Wed, 17 Jun 2015 15:36:02 +0000 (15:36 +0000)]
tree.h (merge_dllimport_decl_attributes, [...]): Remove conditional exposure of prototypes.
* tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
Remove conditional exposure of prototypes.
(ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
* tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
definitions in tree.h with functions.
* lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
anon_aggrname_p.
* tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
* cp/cp-lang.c (cxx_dwarf_name): Use anon_aggrname_p.
* cp/cp-tree.h (TYPE_ANONYMOUS_P): Likewise.
* cp/decl.c (grokdeclarator, xref_tag_1): Likewise.
* cp/error.c (dump_aggr_type): likewise.
* cp/pt.c (push_template_decl_real): Likewise.
* cp/name-lookup.c (make_anon_name): Use anon_aggrname_format.
From-SVN: r224564
Segher Boessenkool [Wed, 17 Jun 2015 15:18:03 +0000 (17:18 +0200)]
rs6000.md (*cmp<mode>_internal1): Rename to...
* config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
(*cmp<mode>_signed): ... this.
(*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
(*cmp<mode>_unsigned): ... this. Remove %b.
From-SVN: r224563
Andrew MacLeod [Wed, 17 Jun 2015 14:58:44 +0000 (14:58 +0000)]
coretypes.h: Include input.h and as-a.h.
2015-06-17 Andrew MacLeod <amacleod@redhat.com>
* coretypes.h: Include input.h and as-a.h.
* rtl.h: Include input.h and as-a.h for generator files.
* hwint.c: Include input.h.
* vec.c: Include input.h.
* alias.c: Do not include input.h, line-map.h or is-a.h.
* asan.c: Likewise.
* attribs.c: Likewise.
* auto-inc-dec.c: Likewise.
* auto-profile.c: Likewise.
* bb-reorder.c: Likewise.
* bt-load.c: Likewise.
* builtins.c: Likewise.
* caller-save.c: Likewise.
* calls.c: Likewise.
* ccmp.c: Likewise.
* cfg.c: Likewise.
* cfganal.c: Likewise.
* cfgbuild.c: Likewise.
* cfgcleanup.c: Likewise.
* cfgexpand.c: Likewise.
* cfghooks.c: Likewise.
* cfgloop.c: Likewise.
* cfgloop.h: Likewise.
* cfgloopanal.c: Likewise.
* cfgloopmanip.c: Likewise.
* cfgrtl.c: Likewise.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* cgraphclones.c: Likewise.
* cgraphunit.c: Likewise.
* cilk-common.c: Likewise.
* combine-stack-adj.c: Likewise.
* combine.c: Likewise.
* compare-elim.c: Likewise.
* convert.c: Likewise.
* coverage.c: Likewise.
* cppbuiltin.c: Likewise.
* cprop.c: Likewise.
* cse.c: Likewise.
* cselib.c: Likewise.
* data-streamer-in.c: Likewise.
* data-streamer-out.c: Likewise.
* data-streamer.c: Likewise.
* dbxout.c: Likewise.
* dce.c: Likewise.
* ddg.c: Likewise.
* debug.c: Likewise.
* df-core.c: Likewise.
* df-problems.c: Likewise.
* df-scan.c: Likewise.
* df.h: Likewise.
* dfp.c: Likewise.
* diagnostic-core.h: Likewise.
* diagnostic.c: Likewise.
* dojump.c: Likewise.
* dominance.c: Likewise.
* domwalk.c: Likewise.
* double-int.c: Likewise.
* dse.c: Likewise.
* dumpfile.c: Likewise.
* dumpfile.h: Likewise.
* dwarf2asm.c: Likewise.
* dwarf2cfi.c: Likewise.
* dwarf2out.c: Likewise.
* emit-rtl.c: Likewise.
* et-forest.c: Likewise.
* except.c: Likewise.
* explow.c: Likewise.
* expmed.c: Likewise.
* expr.c: Likewise.
* final.c: Likewise.
* fixed-value.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* fwprop.c: Likewise.
* gcc-plugin.h: Likewise.
* gcse.c: Likewise.
* generic-match-head.c: Likewise.
* ggc-page.c: Likewise.
* gimple-builder.c: Likewise.
* gimple-expr.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-iterator.c: Likewise.
* gimple-low.c: Likewise.
* gimple-match-head.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimple-ssa-isolate-paths.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple-streamer-in.c: Likewise.
* gimple-streamer-out.c: Likewise.
* gimple-streamer.h: Likewise.
* gimple-walk.c: Likewise.
* gimple.c: Likewise.
* gimplify-me.c: Likewise.
* gimplify.c: Likewise.
* godump.c: Likewise.
* graph.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-isl-ast-to-gimple.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* haifa-sched.c: Likewise.
* hw-doloop.c: Likewise.
* ifcvt.c: Likewise.
* init-regs.c: Likewise.
* input.c: Likewise.
* internal-fn.c: Likewise.
* ipa-chkp.c: Likewise.
* ipa-comdats.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-devirt.c: Likewise.
* ipa-icf-gimple.c: Likewise.
* ipa-icf.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-polymorphic-call.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-ref.c: Likewise.
* ipa-reference.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* ipa-visibility.c: Likewise.
* ipa.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-conflicts.c: Likewise.
* ira-costs.c: Likewise.
* ira-emit.c: Likewise.
* ira-lives.c: Likewise.
* ira.c: Likewise.
* jump.c: Likewise.
* langhooks.c: Likewise.
* lcm.c: Likewise.
* loop-doloop.c: Likewise.
* loop-init.c: Likewise.
* loop-invariant.c: Likewise.
* loop-iv.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* lra-assigns.c: Likewise.
* lra-coalesce.c: Likewise.
* lra-constraints.c: Likewise.
* lra-eliminations.c: Likewise.
* lra-lives.c: Likewise.
* lra-remat.c: Likewise.
* lra-spills.c: Likewise.
* lra.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-compress.c: Likewise.
* lto-opts.c: Likewise.
* lto-section-in.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* mcf.c: Likewise.
* mode-switching.c: Likewise.
* modulo-sched.c: Likewise.
* omega.c: Likewise.
* omp-low.c: Likewise.
* optabs.c: Likewise.
* opts-global.c: Likewise.
* opts.h: Likewise.
* passes.c: Likewise.
* plugin.c: Likewise.
* postreload-gcse.c: Likewise.
* postreload.c: Likewise.
* predict.c: Likewise.
* pretty-print.h: Likewise.
* print-rtl.c: Likewise.
* print-tree.c: Likewise.
* profile.c: Likewise.
* real.c: Likewise.
* realmpfr.c: Likewise.
* recog.c: Likewise.
* ree.c: Likewise.
* reg-stack.c: Likewise.
* regcprop.c: Likewise.
* reginfo.c: Likewise.
* regrename.c: Likewise.
* regstat.c: Likewise.
* reload.c: Likewise.
* reload1.c: Likewise.
* reorg.c: Likewise.
* resource.c: Likewise.
* rtl-chkp.c: Likewise.
* rtl-error.c: Likewise.
* rtlanal.c: Likewise.
* rtlhooks.c: Likewise.
* sanopt.c: Likewise.
* sched-deps.c: Likewise.
* sched-ebb.c: Likewise.
* sched-rgn.c: Likewise.
* sched-vis.c: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched.c: Likewise.
* sese.c: Likewise.
* shrink-wrap.c: Likewise.
* simplify-rtx.c: Likewise.
* stack-ptr-mod.c: Likewise.
* statistics.c: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* streamer-hooks.c: Likewise.
* stringpool.c: Likewise.
* symtab.c: Likewise.
* target-globals.c: Likewise.
* targhooks.c: Likewise.
* toplev.c: Likewise.
* tracer.c: Likewise.
* trans-mem.c: Likewise.
* tree-affine.c: Likewise.
* tree-browser.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chkp-opt.c: Likewise.
* tree-chkp.c: Likewise.
* tree-chrec.c: Likewise.
* tree-complex.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-dfa.c: Likewise.
* tree-diagnostic.c: Likewise.
* tree-dump.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-iterator.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-nested.c: Likewise.
* tree-nrv.c: Likewise.
* tree-object-size.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-phinodes.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-alias.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-dse.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-operands.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-scopedtables.c: Likewise.
* tree-ssa-sink.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-ter.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssanames.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* tree-streamer.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* tsan.c: Likewise.
* ubsan.c: Likewise.
* valtrack.c: Likewise.
* value-prof.c: Likewise.
* var-tracking.c: Likewise.
* varasm.c: Likewise.
* varpool.c: Likewise.
* vmsdbgout.c: Likewise.
* vtable-verify.c: Likewise.
* web.c: Likewise.
* wide-int.cc: Likewise.
* xcoffout.c: Likewise.
* config/aarch64/aarch64-builtins.c: Likewise.
* config/aarch64/aarch64.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/arc/arc.c: Likewise.
* config/arm/aarch-common.c: Likewise.
* config/arm/arm-builtins.c: Likewise.
* config/arm/arm-c.c: Likewise.
* config/arm/arm.c: Likewise.
* config/avr/avr-c.c: Likewise.
* config/avr/avr-log.c: Likewise.
* config/avr/avr.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/cr16/cr16.c: Likewise.
* config/cris/cris.c: Likewise.
* config/darwin-c.c: Likewise.
* config/darwin.c: Likewise.
* config/default-c.c: Likewise.
* config/epiphany/epiphany.c: Likewise.
* config/epiphany/mode-switch-use.c: Likewise.
* config/epiphany/resolve-sw-modes.c: Likewise.
* config/fr30/fr30.c: Likewise.
* config/frv/frv.c: Likewise.
* config/ft32/ft32.c: Likewise.
* config/glibc-c.c: Likewise.
* config/h8300/h8300.c: Likewise.
* config/i386/i386-c.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/msformat-c.c: Likewise.
* config/i386/winnt-cxx.c: Likewise.
* config/i386/winnt-stubs.c: Likewise.
* config/i386/winnt.c: Likewise.
* config/ia64/ia64-c.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/iq2000/iq2000.c: Likewise.
* config/lm32/lm32.c: Likewise.
* config/m32c/m32c-pragma.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/m32r/m32r.c: Likewise.
* config/m68k/m68k.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mep/mep-pragma.c: Likewise.
* config/mep/mep.c: Likewise.
* config/microblaze/microblaze-c.c: Likewise.
* config/microblaze/microblaze.c: Likewise.
* config/mips/mips.c: Likewise.
* config/mmix/mmix.c: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/moxie/moxie.c: Likewise.
* config/msp430/msp430-c.c: Likewise.
* config/msp430/msp430.c: Likewise.
* config/nds32/nds32-cost.c: Likewise.
* config/nds32/nds32-fp-as-gp.c: Likewise.
* config/nds32/nds32-intrinsic.c: Likewise.
* config/nds32/nds32-isr.c: Likewise.
* config/nds32/nds32-md-auxiliary.c: Likewise.
* config/nds32/nds32-memory-manipulation.c: Likewise.
* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
* config/nds32/nds32-predicates.c: Likewise.
* config/nds32/nds32.c: Likewise.
* config/nios2/nios2.c: Likewise.
* config/nvptx/nvptx.c: Likewise.
* config/pa/pa.c: Likewise.
* config/pdp11/pdp11.c: Likewise.
* config/rl78/rl78-c.c: Likewise.
* config/rl78/rl78.c: Likewise.
* config/rs6000/rs6000-c.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rx/rx.c: Likewise.
* config/s390/s390-c.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh-c.c: Likewise.
* config/sh/sh-mem.cc: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh_optimize_sett_clrt.cc: Likewise.
* config/sh/sh_treg_combine.cc: Likewise.
* config/sol2-c.c: Likewise.
* config/sol2-cxx.c: Likewise.
* config/sol2-stubs.c: Likewise.
* config/sol2.c: Likewise.
* config/sparc/sparc-c.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu-c.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/tilegx/mul-tables.c: Likewise.
* config/tilegx/tilegx-c.c: Likewise.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/mul-tables.c: Likewise.
* config/tilepro/tilepro-c.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
* config/v850/v850-c.c: Likewise.
* config/v850/v850.c: Likewise.
* config/vax/vax.c: Likewise.
* config/visium/visium.c: Likewise.
* config/vms/vms-c.c: Likewise.
* config/vms/vms.c: Likewise.
* config/vxworks.c: Likewise.
* config/winnt-c.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
ada
* ada/gcc-interface/cuintp.c: Do not include input.h, line-map.h or
is-a.h.
* ada/gcc-interface/decl.c: Likewise.
* ada/gcc-interface/misc.c: Likewise.
* ada/gcc-interface/targtyps.c: Likewise.
* ada/gcc-interface/trans.c: Likewise.
* ada/gcc-interface/utils.c: Likewise.
* ada/gcc-interface/utils2.c: Likewise.
c
* c/c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
* c/c-aux-info.c: Likewise.
* c/c-convert.c: Likewise.
* c/c-decl.c: Likewise.
* c/c-errors.c: Likewise.
* c/c-lang.c: Likewise.
* c/c-objc-common.c: Likewise.
* c/c-parser.c: Likewise.
* c/c-typeck.c: Likewise.
c-family
* c-family/array-notation-common.c: Do not include input.h, line-map.h
or is-a.h.
* c-family/c-ada-spec.c: Likewise.
* c-family/c-cilkplus.c: Likewise.
* c-family/c-common.c: Likewise.
* c-family/c-common.h: Likewise.
* c-family/c-cppbuiltin.c: Likewise.
* c-family/c-dump.c: Likewise.
* c-family/c-format.c: Likewise.
* c-family/c-gimplify.c: Likewise.
* c-family/c-indentation.c: Likewise.
* c-family/c-lex.c: Likewise.
* c-family/c-omp.c: Likewise.
* c-family/c-opts.c: Likewise.
* c-family/c-pch.c: Likewise.
* c-family/c-ppoutput.c: Likewise.
* c-family/c-pragma.c: Likewise.
* c-family/c-pretty-print.c: Likewise.
* c-family/c-semantics.c: Likewise.
* c-family/c-ubsan.c: Likewise.
* c-family/cilk.c: Likewise.
* c-family/stub-objc.c: Likewise.
common
* common/common-target.h: Do not include input.h, line-map.h or is-a.h.
* common/common-targhooks.c: Likewise.
cp
* cp/call.c: Do not include input.h, line-map.h or is-a.h.
* cp/class.c: Likewise.
* cp/constexpr.c: Likewise.
* cp/cp-array-notation.c: Likewise.
* cp/cp-gimplify.c: Likewise.
* cp/cp-lang.c: Likewise.
* cp/cp-objcp-common.c: Likewise.
* cp/cp-tree.h: Likewise.
* cp/cp-ubsan.c: Likewise.
* cp/cvt.c: Likewise.
* cp/decl.c: Likewise.
* cp/decl2.c: Likewise.
* cp/dump.c: Likewise.
* cp/error.c: Likewise.
* cp/except.c: Likewise.
* cp/expr.c: Likewise.
* cp/friend.c: Likewise.
* cp/init.c: Likewise.
* cp/lambda.c: Likewise.
* cp/lex.c: Likewise.
* cp/mangle.c: Likewise.
* cp/method.c: Likewise.
* cp/name-lookup.c: Likewise.
* cp/optimize.c: Likewise.
* cp/parser.c: Likewise.
* cp/pt.c: Likewise.
* cp/ptree.c: Likewise.
* cp/repo.c: Likewise.
* cp/rtti.c: Likewise.
* cp/search.c: Likewise.
* cp/semantics.c: Likewise.
* cp/tree.c: Likewise.
* cp/typeck.c: Likewise.
* cp/typeck2.c: Likewise.
* cp/vtable-class-hierarchy.c: Likewise.
fortran
* fortran/convert.c: Do not include input.h, line-map.h or is-a.h.
* fortran/cpp.c: Likewise.
* fortran/decl.c: Likewise.
* fortran/f95-lang.c: Likewise.
* fortran/gfortran.h: Likewise.
* fortran/iresolve.c: Likewise.
* fortran/match.c: Likewise.
* fortran/module.c: Likewise.
* fortran/options.c: Likewise.
* fortran/target-memory.c: Likewise.
* fortran/trans-array.c: Likewise.
* fortran/trans-common.c: Likewise.
* fortran/trans-const.c: Likewise.
* fortran/trans-decl.c: Likewise.
* fortran/trans-expr.c: Likewise.
* fortran/trans-intrinsic.c: Likewise.
* fortran/trans-io.c: Likewise.
* fortran/trans-openmp.c: Likewise.
* fortran/trans-stmt.c: Likewise.
* fortran/trans-types.c: Likewise.
* fortran/trans.c: Likewise.
go
* go/go-backend.c: Do not include input.h, line-map.h or is-a.h.
* go/go-gcc.cc: Likewise.
* go/go-lang.c: Likewise.
* go/go-system.h: Likewise.
java
* java/boehm.c: Do not include input.h, line-map.h or is-a.h.
* java/builtins.c: Likewise.
* java/class.c: Likewise.
* java/constants.c: Likewise.
* java/decl.c: Likewise.
* java/except.c: Likewise.
* java/expr.c: Likewise.
* java/java-gimplify.c: Likewise.
* java/jcf-dump.c: Likewise.
* java/jcf-io.c: Likewise.
* java/jcf-parse.c: Likewise.
* java/jvgenmain.c: Likewise.
* java/lang.c: Likewise.
* java/mangle.c: Likewise.
* java/mangle_name.c: Likewise.
* java/resource.c: Likewise.
* java/typeck.c: Likewise.
* java/verify-glue.c: Likewise.
* java/verify-impl.c: Likewise.
jit
* jit/dummy-frontend.c: Do not include input.h, line-map.h or is-a.h.
* jit/jit-common.h: Likewise.
* jit/jit-playback.c: Likewise.
lto
* lto/lto-lang.c: Do not include input.h, line-map.h or is-a.h.
* lto/lto-object.c: Likewise.
* lto/lto-partition.c: Likewise.
* lto/lto-symtab.c: Likewise.
* lto/lto.c: Likewise.
objc
* objc/objc-act.c: Do not include input.h, line-map.h or is-a.h.
* objc/objc-encoding.c: Likewise.
* objc/objc-gnu-runtime-abi-01.c: Likewise.
* objc/objc-lang.c: Likewise.
* objc/objc-map.c: Likewise.
* objc/objc-next-runtime-abi-01.c: Likewise.
* objc/objc-next-runtime-abi-02.c: Likewise.
* objc/objc-runtime-shared-support.c: Likewise.
objcp
* objcp/objcp-decl.c: Do not include input.h, line-map.h or is-a.h.
* objcp/objcp-lang.c: Likewise.
From-SVN: r224562
Jonathan Wakely [Wed, 17 Jun 2015 11:33:31 +0000 (12:33 +0100)]
forward_list.h (forward_list::_M_get_Node_allocator): Remove unnecessary uses of operator& and static_cast.
* include/bits/forward_list.h (forward_list::_M_get_Node_allocator):
Remove unnecessary uses of operator& and static_cast.
* include/bits/forward_list.tcc
(forward_list::operator=(const forward_list&)): Use __addressof
instead of operator&.
(forward_list::remove(const _Tp&), forward_list::remove(_Pred)):
Remove invalid static_casts.
* include/debug/forward_list: Use __addressof instead of operator&.
* testsuite/23_containers/forward_list/modifiers/addressof.cc: New.
From-SVN: r224553
Jonathan Wakely [Wed, 17 Jun 2015 10:51:46 +0000 (11:51 +0100)]
alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use __is_nothrow_swappable.
* include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
__is_nothrow_swappable.
From-SVN: r224552
Uros Bizjak [Wed, 17 Jun 2015 10:03:49 +0000 (12:03 +0200)]
re PR testsuite/65944 (FAIL: g++.dg/lto/pr65276: undefined reference to std2::exception::~exception())
PR testsuite/65944
* g++.dg/lto/pr65276_0.C: Add std2::exception::~exception() function.
From-SVN: r224550
Robert Suchanek [Wed, 17 Jun 2015 09:55:59 +0000 (09:55 +0000)]
Implement TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS hook.
gcc/ChangeLog:
* config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
function.
(TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
gcc/testsuite/ChangeLog:
* gcc.target/mips/pr65862-1.c: New test.
* gcc.target/mips/pr65862-2.c: Likewise.
From-SVN: r224549
Uros Bizjak [Wed, 17 Jun 2015 09:34:46 +0000 (11:34 +0200)]
pr54592.c: Remove dg-require-effective-target.
* gcc.target/i386/pr54592.c: Remove dg-require-effective-target.
* gcc.target/i386/pr52252-atom.c: Ditto.
* gcc.target/i386/vect-div-1.c: Ditto.
* gcc.target/i386/rotate-5.c: Ditto.
* gcc.target/i386/pr50202.c: Ditto.
* gcc.target/i386/pr37843-3.c: Ditto.
* gcc.target/i386/avx2-vect-aggressive-1.c: Ditto.
* gcc.target/i386/pr53397-1.c: Ditto.
* gcc.target/i386/pr55934.c: Ditto.
* gcc.target/i386/pr37843-4.c: Ditto.
* gcc.target/i386/pr60451.c: Ditto.
* gcc.target/i386/pr53397-2.c: Ditto.
* gcc.target/i386/vectorize1.c: Ditto.
* gcc.target/i386/extract-insert-combining.c: Ditto.
* gcc.target/i386/pr53759.c: Ditto.
* gcc.target/i386/pr52252-core.c: Ditto.
* gcc.target/i386/rotate-3.c: Ditto.
* gcc.target/i386/sse-20.c: Ditto.
* gcc.target/i386/rotate-4.c: Ditto.
* gcc.target/i386/pr61403.c: Ditto.
* gcc.target/i386/pr60205-2.c: Add dg-do compile directive.
* gcc.target/i386/pr60901.c: Ditto.
* gcc.target/i386/pr59794-7.c: Ditto.
* gcc.target/i386/pr62208.c: Ditto.
* gcc.target/i386/pr53416.c: Ditto.
* gcc.target/i386/asm-dialect-1.c: Ditto.
* gcc.target/i386/pr50038.c: Ditto.
* gcc.target/i386/47698.c: Ditto.
* gcc.target/i386/avx512vl-vpmuludq-1.c: Ditto.
* gcc.target/i386/pr59794-2.c: Ditto.
* gcc.target/i386/pr59794-3.c: Ditto.
* gcc.target/i386/pr39058.c: Ditto.
* gcc.target/i386/pr60205-1.c: Ditto.
* gcc.target/i386/fma4-256-nmsubXX.c: Add dg-do run directive.
* gcc.target/i386/sse2-movq-2.c: Ditto.
From-SVN: r224548
Richard Biener [Wed, 17 Jun 2015 07:37:40 +0000 (07:37 +0000)]
revert: [multiple changes]
2015-06-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/66251
* tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
stmts for SLP strided stores.
* gfortran.fortran-torture/compile/pr66251-2.f90: New testcase.
Revert
2015-05-22 Richard Biener <rguenther@suse.de>
PR tree-optimization/66251
* tree-vect-stmts.c (vectorizable_conversion): Properly
set STMT_VINFO_VEC_STMT even for the SLP case.
2015-05-26 Michael Matz <matz@suse.de>
PR middle-end/66251
* tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
STMT_VINFO_VEC_STMT, also with SLP.
From-SVN: r224545
GCC Administrator [Wed, 17 Jun 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r224544
Jonathan Wakely [Tue, 16 Jun 2015 22:33:06 +0000 (23:33 +0100)]
* include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
From-SVN: r224540
Jonathan Wakely [Tue, 16 Jun 2015 21:04:53 +0000 (22:04 +0100)]
list.tcc (list::operator=(const list&), [...]): Use __addressof instead of operator&.
* include/bits/list.tcc (list::operator=(const list&), list::merge):
Use __addressof instead of operator&.
(list::sort): Use array-to-pointer decay instead of operator&.
* include/bits/stl_list.h (list::splice): Use __addressof instead of
operator&.
* include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter):
Likewise.
* include/debug/functions.h (__check_singular): Likewise.
* include/debug/list (list::splice, list::merge): Likewise.
* testsuite/23_containers/list/modifiers/addressof.cc: New.
From-SVN: r224539
Paolo Carlini [Tue, 16 Jun 2015 20:07:57 +0000 (20:07 +0000)]
re PR c++/59682 (Invalid syntax accepted: new-placement without expression-list)
/cp
2015-06-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59682
* parser.c (cp_parser_new_placement): Reject an empty expression-list.
/testsuite
2015-06-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59682
* g++.dg/parse/new-placement1.C: New.
From-SVN: r224537
David Malcolm [Tue, 16 Jun 2015 19:52:37 +0000 (19:52 +0000)]
jit: Add a test for compound assignment
gcc/testsuite/ChangeLog:
* jit.dg/all-non-failing-tests.h: Add test-compound-assignment.c.
* jit.dg/test-compound-assignment.c: New testcase.
From-SVN: r224536
David Malcolm [Tue, 16 Jun 2015 19:44:05 +0000 (19:44 +0000)]
PR jit/66539: Properly add testcase
gcc/testsuite/ChangeLog:
PR jit/66539
* jit.dg/all-non-failing-tests.h: Add test-debug-strings.c
to "testcases" array.
From-SVN: r224535
Jason Merrill [Tue, 16 Jun 2015 19:29:19 +0000 (15:29 -0400)]
re PR c++/66536 (ICE in build_ctor_subob_ref, at cp/tree.c:2534)
PR c++/66536
* tree.c (replace_placeholders_r) [CONSTRUCTOR]: Handle type
mismatch.
From-SVN: r224534
Jason Merrill [Tue, 16 Jun 2015 19:29:09 +0000 (15:29 -0400)]
re PR c++/58063 (default arguments evaluated twice per call)
PR c++/58063
* tree.c (bot_manip): Remap SAVE_EXPR.
From-SVN: r224533
David Malcolm [Tue, 16 Jun 2015 18:13:44 +0000 (18:13 +0000)]
PR jit/66539: Add parentheses as needed to gcc_jit_object_get_debug_string
gcc/jit/ChangeLog:
PR jit/66539
* jit-recording.c: Within namespace gcc::jit::recording::
(rvalue::get_debug_string_parens): New function.
(binary_op::make_debug_string): Update to mimic C precedence
rules.
(binary_op_precedence): New array.
(binary_op::get_precedence): New function.
(comparison::make_debug_string): Update to mimic C precedence
rules.
(comparison_precedence): New array.
(comparison::get_precedence): New function.
(cast::make_debug_string): Update to mimic C precedence rules.
(call::make_debug_string): Likewise.
(call_through_ptr::make_debug_string): Likewise.
(array_access::make_debug_string): Likewise.
(access_field_of_lvalue::make_debug_string): Likewise.
(access_field_rvalue::make_debug_string): Likewise.
(dereference_field_rvalue::make_debug_string): Likewise.
(dereference_rvalue::make_debug_string): Likewise.
(get_address_of_lvalue::make_debug_string): Likewise.
* jit-recording.h: Within namespace gcc::jit::recording::
(precedence): New enum.
(rvalue::rvalue): Initialize field "m_parenthesized_string".
(rvalue::get_debug_string_parens): New method.
(rvalue::get_precedence): New pure virtual function.
(rvalue::m_parenthesized_string): New field.
(param::get_precedence): New function.
(global::get_precedence): New function.
(memento_of_new_rvalue_from_const::get_precedence): New function.
(memento_of_new_string_literal::get_precedence): New function.
(unary_op::get_precedence): New function.
(binary_op::get_precedence): New function.
(comparison::get_precedence): New function.
(cast::get_precedence): New function.
(call::get_precedence): New function.
(call_through_ptr::get_precedence): New function.
(array_access::get_precedence): New function.
(access_field_of_lvalue::get_precedence): New function.
(access_field_rvalue::get_precedence): New function.
(dereference_field_rvalue::get_precedence): New function.
(dereference_rvalue::get_precedence): New function.
(get_address_of_lvalue::get_precedence): New function.
(local::get_precedence): New function.
gcc/testsuite/ChangeLog:
PR jit/66539
* jit.dg/all-non-failing-tests.h: Add test-debug-strings.c.
* jit.dg/test-debug-strings.c: New test case.
* jit.dg/test-quadratic.c (make_calc_discriminant): Verify that
the discriminant has a sane debug string.
From-SVN: r224531
Jonathan Wakely [Tue, 16 Jun 2015 17:53:52 +0000 (18:53 +0100)]
re PR libstdc++/65393 (std::thread shared_ptr inefficiency)
PR libstdc++/65393
* src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
copies with moves.
From-SVN: r224530
Uros Bizjak [Tue, 16 Jun 2015 17:43:14 +0000 (19:43 +0200)]
* ChangeLog: Fixup PR number.
From-SVN: r224529
Uros Bizjak [Tue, 16 Jun 2015 17:15:38 +0000 (19:15 +0200)]
* ChangeLog: Added missing ChangeLog entries.
From-SVN: r224528
Uros Bizjak [Tue, 16 Jun 2015 17:14:00 +0000 (19:14 +0200)]
re PR target/56766 (Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...))
PR target/56776
* config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
(*avx_addsubv4df3_1s): Ditto.
(*sse3_addsubv2df3_1): Ditto.
(*sse3_addsubv2df3_1s): Ditto.
(*avx_addsubv8sf3_1): Ditto.
(*avx_addsubv8sf3_1s): Ditto.
(*sse3_addsubv4sf3_1): Ditto.
(*sse3_addsubv4sf3_1s): Ditto.
testsuite/ChangeLog:
PR target/56776
* gcc.target/i386/pr56776-1.c: New test.
* gcc.target/i386/pr56776-2.c: Ditto.
From-SVN: r224527
Steve Ellcey [Tue, 16 Jun 2015 16:53:46 +0000 (16:53 +0000)]
loongson-shift-count-truncated-1.c: Skip on mips*-mti-linux* and mips*-img-linux* targets.
2015-06-16 Steve Ellcey <sellcey@imgtec.com>
* gcc.target/mips/loongson-shift-count-truncated-1.c:
Skip on mips*-mti-linux* and mips*-img-linux* targets.
* gcc.target/mips/loongson-simd.c: Ditto.
From-SVN: r224526
Steve Ellcey [Tue, 16 Jun 2015 16:49:06 +0000 (16:49 +0000)]
mti-linux.h (MIPS_SYSVERSION_SPEC): New.
2015-06-16 Steve Ellcey <sellcey@imgtec.com>
* config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
(SYSROOT_SUFFIX_SPEC): Update.
(SYSROOT_HEADERS_SUFFIX_SPEC): New.
(STARTFILE_PREFIX_SPEC): Update.
* config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
(MULTILIB_REQUIRED): New.
(MULTILIB_OSDIRNAMES): New.
* config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
(MULTILIB_REQUIRED): New.
(MULTILIB_OSDIRNAMES): New.
From-SVN: r224525
Jason Merrill [Tue, 16 Jun 2015 14:48:56 +0000 (10:48 -0400)]
re PR c++/66387 (ICE in make_decl_rtl with lambda)
PR c++/66387
* pt.c (tsubst_copy) [VAR_DECL]: Use process_outer_var_ref.
From-SVN: r224521
Matthew Wahab [Tue, 16 Jun 2015 13:38:37 +0000 (13:38 +0000)]
aarch64-arches.def: Add "armv8.1-a".
2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
* config/aarch64/aarch64-arches.def: Add "armv8.1-a".
* config/aarch64/aarch64-options-extensions.def: Update "fP",
"simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
* gcc/config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
(AARCH64_FL_PAN): New.
(AARCH64_FL_LOR): New.
(AARCH64_FL_RDMA): New.
(AARCH64_FL_FOR_ARCH8_1): New.
* doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
-march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
From-SVN: r224519
Martin Liska [Tue, 16 Jun 2015 13:24:54 +0000 (15:24 +0200)]
Fallout for new memory statistics infrastructure.
* bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
* hash-table.c (void dump_hash_table_loc_statistics): Add missing
guard.
From-SVN: r224518
Uros Bizjak [Tue, 16 Jun 2015 12:35:16 +0000 (14:35 +0200)]
* ChangeLog: Remove duplicate entry.
From-SVN: r224515
Richard Biener [Tue, 16 Jun 2015 11:42:28 +0000 (11:42 +0000)]
tree-vect-stmts.c (vectorizable_store): Adjust.
2015-06-16 Richard Biener <rguenther@suse.de>
* tree-vect-stmts.c (vectorizable_store): Adjust.
(vectorizable_load): Likewise.
* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
Simplify.
(vect_create_data_ref_ptr): Likewise.
(bump_vector_ptr): Adjust.
* gcc.target/i386/recip-vec-sqrtf-avx.c: Disable unrolling.
From-SVN: r224514
James Greenhalgh [Tue, 16 Jun 2015 10:36:44 +0000 (10:36 +0000)]
[Patch Testsuite obvious] gcc.target/arm/pr65647.c should not
unconditionally add -mfloat-abi=soft
gcc/testsuite/
* gcc.target/arm/pr65647.c: Do not override -mfloat-abi directives
passed by the testsuite driver.
From-SVN: r224512
Richard Biener [Tue, 16 Jun 2015 10:29:16 +0000 (10:29 +0000)]
tree-vect-stmts.c (vectorizable_load): Properly start loads with the first element if this is grouped loads.
2015-06-16 Richard Biener <rguenther@suse.de>
* tree-vect-stmts.c (vectorizable_load): Properly start loads
with the first element if this is grouped loads.
* gcc.dg/vect/slp-perm-11.c: New testcase.
From-SVN: r224511
Christophe Lyon [Tue, 16 Jun 2015 10:19:59 +0000 (10:19 +0000)]
ARM][obvious] Fix gcc.target/arm/thumb-ifcvt.c
2015-06-16 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/arm/thumb-ifcvt.c: Add -mno-restrict-it to
dg-options.
From-SVN: r224509
James Greenhalgh [Tue, 16 Jun 2015 09:22:38 +0000 (09:22 +0000)]
[AArch64 Testsuite obvious] Reinstate torture-init and torture-finalize
in advsimd-intrinsics.exp
gcc/testsuite/
* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
Reinstate calls to torture-init and torture-finalize.
From-SVN: r224507
James Greenhalgh [Tue, 16 Jun 2015 09:17:52 +0000 (09:17 +0000)]
[ARM Churn] Rename LOGICAL_OP_NON_SC to LOGICAL_OP_NON_SHORT_CIRCUIT
gcc/ChangeLog:
* config/arm/arm-protos.h (struct tune_params): Rename
log_op_non_sc to log_op_non_short_circuit, and rename enum
values to expand SC to SHORT_CIRCUIT.
* config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
to LOG_OP_NON_SHORT_CIRCUIT.
(arm_fastmul_tune):Likewise
(arm_strongarm_tune): Likewise.
(arm_xscale_tune): Likewise.
(arm_9e_tune): Likewise.
(arm_marvell_pj4_tune): Likewise.
(arm_v6t2_tune): Likewise.
(arm_cortex_tune): Likewise.
(arm_cortex_a8_tune): Likewise.
(arm_cortex_a7_tune): Likewise.
(arm_cortex_a15_tune): Likewise.
(arm_cortex_a53_tune): Likewise.
(arm_cortex_a57_tune): Likewise.
(arm_xgene1_tune): Likewise.
(arm_cortex_a5_tune): Likewise.
(arm_cortex_a9_tune): Likewise.
(arm_cortex_a12_tune): Likewise.
(arm_v7m_tune): Likewise.
(arm_cortex_m7_tune): Likewise.
(arm_v6m_tune): Likewise.
(arm_fa726te_tune): Likewise.
From-SVN: r224506
Kyrylo Tkachov [Tue, 16 Jun 2015 08:41:09 +0000 (08:41 +0000)]
[ARM][obvious] Fix gcc.target/arm/attr_thumb.c
* gcc.target/arm/attr_thumb.c: Add -mno-restrict-it to dg-options.
From-SVN: r224504
Nathan Sidwell [Tue, 16 Jun 2015 01:59:55 +0000 (01:59 +0000)]
re PR c++/58583 ([c++11] ICE with invalid non-static data member initialization in template)
cp/
PR c++/58583
* cp-tree.h (DECL_INSTANTIATING_NSDMI_P): New.
* init.c (get_nsdmi): Check for DEFAULT_ARG in template case and
protect it from recursive instantiation.
testsuite/
PR c++/58583
* g++.dg/cpp0x/nsdmi-template14.C: New test.
From-SVN: r224502
GCC Administrator [Tue, 16 Jun 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r224500
Ian Lance Taylor [Mon, 15 Jun 2015 22:45:02 +0000 (22:45 +0000)]
escape: Analyze binary expressions.
Binary expressions might contain function calls that cause an object
to escape. Previously, there were not analyzed.
Reviewed-on: https://go-review.googlesource.com/10660
From-SVN: r224496
David Edelsohn [Mon, 15 Jun 2015 22:17:47 +0000 (22:17 +0000)]
altivec.md: Delete UNSPEC_VMLADDUHM.
* altivec.md: Delete UNSPEC_VMLADDUHM.
(mulv4si3_p8): New pattern.
(mulv4si3): Use it for POWER8.
(mulv8hi3): Use vmladduhm with zero addend.
(altivec_vmladduhm): Descriptive RTL.
From-SVN: r224494
Jim Wilson [Mon, 15 Jun 2015 19:35:40 +0000 (19:35 +0000)]
aarch64.md (mov<mode>_aarch64): Change alternative 2 to use neon_move instead of mov_imm.
gcc/
* config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
to use neon_move instead of mov_imm.
(movdi_aarch64): Change alternative 14 to use neon_move not fmov.
(movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
* config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
aarch64_float_const_zero_rtx_p check before TFmode check.
* config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
an fp zero.
(movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
code and attributes to match. Change condition from register_operand
to aarch64_reg_or_fp_zero for op1. Change type for ldp from
neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
to store2.
From-SVN: r224493
Paolo Carlini [Mon, 15 Jun 2015 19:26:27 +0000 (19:26 +0000)]
re PR c++/51048 (Class template inheritance doesn't work well with function-local types)
/cp
2015-06-15 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51048
* decl2.c (no_linkage_error): Do not issue a permerror if the DECL
using a local type is pure virtual.
/testsuite
2015-06-15 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51048
* g++.dg/cpp0x/local-type1.C: New.
From-SVN: r224492
Tom de Vries [Mon, 15 Jun 2015 18:10:51 +0000 (18:10 +0000)]
Remove dg-options -O2 in libgomp.c
2015-06-15 Tom de Vries <tom@codesourcery.com>
* testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
dg-additional-options for any remaining options.
* testsuite/libgomp.c/atomic-2.c: Same.
* testsuite/libgomp.c/atomic-4.c: Same.
* testsuite/libgomp.c/atomic-5.c: Same.
* testsuite/libgomp.c/atomic-6.c: Same.
* testsuite/libgomp.c/autopar-1.c: Same.
* testsuite/libgomp.c/copyin-1.c: Same.
* testsuite/libgomp.c/copyin-2.c: Same.
* testsuite/libgomp.c/copyin-3.c: Same.
* testsuite/libgomp.c/examples-4/e.53.5.c: Same.
* testsuite/libgomp.c/nestedfn-5.c: Same.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
* testsuite/libgomp.c/pr32362-1.c: Same.
* testsuite/libgomp.c/pr32362-2.c: Same.
* testsuite/libgomp.c/pr32362-3.c: Same.
* testsuite/libgomp.c/pr39591-1.c: Same.
* testsuite/libgomp.c/pr39591-2.c: Same.
* testsuite/libgomp.c/pr39591-3.c: Same.
* testsuite/libgomp.c/pr58392.c: Same.
* testsuite/libgomp.c/pr58756.c: Same.
* testsuite/libgomp.c/simd-1.c: Same.
* testsuite/libgomp.c/simd-10.c: Same.
* testsuite/libgomp.c/simd-11.c: Same.
* testsuite/libgomp.c/simd-12.c: Same.
* testsuite/libgomp.c/simd-13.c: Same.
* testsuite/libgomp.c/simd-14.c: Same.
* testsuite/libgomp.c/simd-15.c: Same.
* testsuite/libgomp.c/simd-2.c: Same.
* testsuite/libgomp.c/simd-3.c: Same.
* testsuite/libgomp.c/simd-4.c: Same.
* testsuite/libgomp.c/simd-5.c: Same.
* testsuite/libgomp.c/simd-6.c: Same.
* testsuite/libgomp.c/simd-7.c: Same.
* testsuite/libgomp.c/simd-8.c: Same.
* testsuite/libgomp.c/simd-9.c: Same.
From-SVN: r224489
Ian Lance Taylor [Mon, 15 Jun 2015 17:56:25 +0000 (17:56 +0000)]
Add MERGE file to track the git revision of the most recent change in
the master gofrontend repository.
From-SVN: r224488
Ian Lance Taylor [Mon, 15 Jun 2015 17:43:02 +0000 (17:43 +0000)]
compiler: Don't crash when dumping ast of empty block.
Fixes golang/go#10420.
From-SVN: r224487
Aldy Hernandez [Mon, 15 Jun 2015 16:34:53 +0000 (16:34 +0000)]
re PR debug/66535 (segfault in gen_subprogram_die after debug-early merge)
PR debug/66535
* dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
there is no parent.
From-SVN: r224486
Tom de Vries [Mon, 15 Jun 2015 13:57:04 +0000 (13:57 +0000)]
Fix typo in libgomp/testsuite/libgomp.c/pr35625.c
2015-06-15 Tom de Vries <tom@codesourcery.com>
* testsuite/libgomp.c/pr35625.c: Fix typo.
From-SVN: r224483
Tom de Vries [Mon, 15 Jun 2015 13:26:12 +0000 (13:26 +0000)]
Remove -fopenmp in dg-options in libgomp.c
2015-06-15 Tom de Vries <tom@codesourcery.com>
* testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
in dg-options.
* testsuite/libgomp.c/atomic-3.c: Same.
* testsuite/libgomp.c/debug-1.c: Same.
* testsuite/libgomp.c/nqueens-1.c: Same.
* testsuite/libgomp.c/pr26171.c: Same.
* testsuite/libgomp.c/pr48591.c: Same.
* testsuite/libgomp.c/pr64824.c: Same.
* testsuite/libgomp.c/pr64868.c: Same.
* testsuite/libgomp.c/pr66133.c: Same.
* testsuite/libgomp.c/pr66199-1.c: Same.
* testsuite/libgomp.c/pr66199-2.c: Same.
* testsuite/libgomp.c/target-8.c: Same.
From-SVN: r224480
Tom de Vries [Mon, 15 Jun 2015 13:26:03 +0000 (13:26 +0000)]
Use dg-additional-options for -std={gnu99,c99}
2015-06-15 Tom de Vries <tom@codesourcery.com>
* testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
-std={gnu99,c99}.
* testsuite/libgomp.c/for-1.c: Same.
* testsuite/libgomp.c/for-2.c: Same.
* testsuite/libgomp.c/for-3.c: Same.
* testsuite/libgomp.c/pr35625.c: Same.
* testsuite/libgomp.c/pr39154.c: Same.
* testsuite/libgomp.c/simd-16.c: Same.
* testsuite/libgomp.c/simd-17.c: Same.
From-SVN: r224479
Andre Vehreschild [Mon, 15 Jun 2015 10:08:04 +0000 (12:08 +0200)]
re PR fortran/44672 ([F08] ALLOCATE with SOURCE and no array-spec)
gcc/testsuite/ChangeLog:
2015-06-15 Andre Vehreschild <vehre@gmx.de>
PR fortran/44672
PR fortran/45440
PR fortran/57307
* gfortran.dg/allocate_with_source_3.f90: Removed check for
unimplemented error.
* gfortran.dg/allocate_with_source_7.f08: New test.
* gfortran.dg/allocate_with_source_8.f08: New test.
gcc/fortran/ChangeLog:
2015-06-15 Andre Vehreschild <vehre@gmx.de>
PR fortran/44672
PR fortran/45440
PR fortran/57307
* gfortran.h: Extend gfc_code.ext.alloc to carry a
flag indicating that the array specification has to be
taken from expr3.
* resolve.c (resolve_allocate_expr): Add F2008 notify
and flag indicating source driven array spec.
(resolve_allocate_deallocate): Check for source driven
array spec, when array to allocate has no explicit
array spec.
* trans-array.c (gfc_array_init_size): Get lower and
upper bound from a tree array descriptor, except when
the source expression is an array-constructor which is
fixed to be one-based.
(retrieve_last_ref): Extracted from gfc_array_allocate().
(gfc_array_allocate): Enable allocate(array, source=
array_expression) as specified by F2008:C633.
(gfc_conv_expr_descriptor): Add class tree expression
into the saved descriptor for class arrays.
* trans-array.h: Add temporary array descriptor to
gfc_array_allocate ().
* trans-expr.c (gfc_conv_procedure_call): Special handling
for _copy() routine translation, that comes without an
interface. Third and fourth argument are now passed by value.
* trans-stmt.c (gfc_trans_allocate): Get expr3 array
descriptor for temporary arrays to allow allocate(array,
source = array_expression) for array without array
specification.
From-SVN: r224477
Shiva Chen [Mon, 15 Jun 2015 09:58:42 +0000 (09:58 +0000)]
[AArch64] Change %ld to %wd for HOST_WIDE_INT parameter.
From-SVN: r224476
GCC Administrator [Mon, 15 Jun 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r224475
Jan Hubicka [Sun, 14 Jun 2015 23:40:12 +0000 (01:40 +0200)]
re PR ipa/66181 (/usr/include/bits/types.h:134:16: ICE: verify_type failed)
PR ipa/66181
* lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK.
* lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
* tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
TYPE_NO_FORCE_BLK.
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
From-SVN: r224471
Richard Sandiford [Sun, 14 Jun 2015 20:25:40 +0000 (20:25 +0000)]
rtl.h (classify_insn): Declare.
gcc/
* rtl.h (classify_insn): Declare.
* emit-rtl.c (classify_insn): Move to...
* rtl.c: ...here and add generator support.
* gensupport.h (get_emit_function, needs_barrier_p): Declare.
* gensupport.c (get_emit_function, needs_barrier_p): New functions.
* genemit.c (gen_emit_seq): New function.
(gen_expand, gen_split): Use it.
From-SVN: r224470
Joseph Myers [Sun, 14 Jun 2015 17:01:10 +0000 (18:01 +0100)]
* sv.po: Update.
From-SVN: r224468
Richard Biener [Sun, 14 Jun 2015 10:21:05 +0000 (10:21 +0000)]
crontab: Disable snapshots from the 4.8 branch.
2015-06-14 Richard Biener <rguenther@suse.de>
* crontab: Disable snapshots from the 4.8 branch.
From-SVN: r224466
Jan Hubicka [Sun, 14 Jun 2015 07:05:03 +0000 (09:05 +0200)]
re PR middle-end/66325 (ICE in gcc.c-torture/execute/930408-1.c, verify_type fails with --enable-checking=yes on arm-none-eabi)
PR middle-end/66325
* c-decl.c (start_enum): Set TYPE_PACKED consistently among type
variants.
From-SVN: r224463
Thomas Koenig [Sun, 14 Jun 2015 07:05:00 +0000 (07:05 +0000)]
intrinsic.texi: Change \leq to < in descrition of imaginary part in argument to log.
2015-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
* intrinsic.texi: Change \leq to < in descrition of imaginary
part in argument to log.
From-SVN: r224462
GCC Administrator [Sun, 14 Jun 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r224461
Patrick Palka [Sat, 13 Jun 2015 16:29:47 +0000 (16:29 +0000)]
Fix comment documenting make_vector_stat
* tree.c (make_vector_stat): Fix comment to state that the
function returns a VECTOR_CST.
From-SVN: r224457
Patrick Palka [Sat, 13 Jun 2015 16:22:19 +0000 (16:22 +0000)]
Remove stale commentary in cp/call.c
* call.c: Remove comment documenting the long-deleted
function build_method_call.
From-SVN: r224456
Patrick Palka [Sat, 13 Jun 2015 16:11:15 +0000 (16:11 +0000)]
Emit -Waddress warnings for comparing address of reference against NULL
gcc/c-family/ChangeLog:
PR c++/65168
* c-common.c (c_common_truthvalue_conversion): Warn when
converting an address of a reference to a truth value.
gcc/cp/ChangeLog:
PR c++/65168
* typeck.c (cp_build_binary_op): Warn when comparing an address
of a reference against NULL.
gcc/testsuite/ChangeLog:
PR c++/65168
g++.dg/warn/Walways-true-3.C: New test.
From-SVN: r224455
Richard Sandiford [Sat, 13 Jun 2015 09:48:35 +0000 (09:48 +0000)]
gensupport.h (add_implicit_parallel): Declare.
gcc/
* gensupport.h (add_implicit_parallel): Declare.
* genrecog.c (add_implicit_parallel): Move to...
* gensupport.c (add_implicit_parallel): ...here.
(process_one_cond_exec): Use it.
* genemit.c (gen_insn): Likewise.
From-SVN: r224454
Tom de Vries [Sat, 13 Jun 2015 08:05:54 +0000 (08:05 +0000)]
Add gcc.dg/parloops-exit-first-loop-alt-4.c
2015-06-13 Tom de Vries <tom@codesourcery.com>
* gcc.dg/parloops-exit-first-loop-alt-4.c: New test.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
From-SVN: r224453
Tom de Vries [Sat, 13 Jun 2015 08:05:44 +0000 (08:05 +0000)]
Update parloops-exit-first-loop-alt{,-2,-3}.c
2015-06-13 Tom de Vries <tom@codesourcery.com>
* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
(N): Define.
(main): Use N instead of hardcoded constants.
* gcc.dg/parloops-exit-first-loop-alt-2.c: Add comment.
(main): Remove superfluous attributes.
* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
* gcc.dg/parloops-exit-first-loop-alt.c: Same.
From-SVN: r224452
Iain Sandoe [Sat, 13 Jun 2015 07:55:05 +0000 (07:55 +0000)]
re PR bootstrap/66448 (Bootstrap fails on darwin after r224161)
gcc:
PR bootstrap/66448
* passes.c (rest_of_decl_compilation): Do not register globals for
early debug if they are declared in built-ins.
From-SVN: r224451
GCC Administrator [Sat, 13 Jun 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r224450
Jason Merrill [Fri, 12 Jun 2015 18:16:22 +0000 (14:16 -0400)]
re PR c++/65719 (Link error with constexpr variable template)
PR c++/65719
* pt.c (tsubst_decl) [VAR_DECL]: Mark namespace-scope
variables as DECL_NOT_REALLY_EXTERN.
From-SVN: r224442
Aldy Hernandez [Fri, 12 Jun 2015 13:44:15 +0000 (13:44 +0000)]
* dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
From-SVN: r224431
Kyrylo Tkachov [Fri, 12 Jun 2015 13:18:17 +0000 (13:18 +0000)]
[ifcvt][obvious] Use std::swap instead of manually swapping
* ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
manually swapping.
(noce_try_cmove_arith): Likewise.
(noce_get_alt_condition): Likewise.
From-SVN: r224429
Jonathan Wakely [Fri, 12 Jun 2015 12:27:06 +0000 (13:27 +0100)]
* include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.
From-SVN: r224425
Jonathan Wakely [Fri, 12 Jun 2015 10:26:10 +0000 (11:26 +0100)]
Fix whitespace in changelog.
From-SVN: r224416
Jonathan Wakely [Fri, 12 Jun 2015 10:26:05 +0000 (11:26 +0100)]
re PR libstdc++/66464 (codecvt_utf16 max_length returning incorrect value)
PR libstdc++/66464
* src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
Return 4 not 3.
From-SVN: r224415
Venkataramanan Kumar [Fri, 12 Jun 2015 10:02:25 +0000 (10:02 +0000)]
gcc/
2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
* common/config/i386/i386-common.c
(OPTION_MASK_ISA_MWAITX_SET): New.
(ix86_handle_option): Handle mwaitx.
* config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
(x86_64-*-*): Likewise.
* config/i386/mwaitxintrin.h: New header.
* config/i386/cpuid.h (bit_MWAITX): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
MWAITX support.
* config/i386/i386.opt (mwaitx): New.
* config/i386/i386-builtin-types.def
(VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
* config/i386/i386-c.c: Define __MWAITX__ if needed.
* config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
(PTA_MWAITX): New.
(ix86_option_override_internal): Handle new option.
(processor_alias_table): Added PTA_MWAITX.
(ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
(ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
(ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
IX86_BUILTIN_MONITORX built-ins.
* config/i386/i386.h (TARGET_MWAITX): New.
* config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
UNSPEC_MONITORX.
(mwaitx): New pattern.
(monitorx_<mode>): New pattern.
* config/i386/x86intrin.h: Include mwaitxintrin.h.
* doc/extend.texi: Document monitorx and mwaitx builtins.
* doc/invoke.texi: Document -mmwaitx option.
gcc/testsuite
2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
* gcc.target/i386/monitorx.c: New.
* gcc.target/i386/sse-12.c: Add -mmwaitx.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
* g++.dg/other/i386-2.C: Ditto.
* g++.dg/other/i386-3.C: Ditto.
From-SVN: r224414
Ramana Radhakrishnan [Fri, 12 Jun 2015 09:55:38 +0000 (09:55 +0000)]
Use atomics in guard.cc / remove special casing in targets.
The PowerPC, AIX, Alpha, IA64 implementations of atomic_word.h are in no
way different from what can be achieved with the generic rewrite in
Patch 1 of this series - delete these.
2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/cpu/alpha/atomic_word.h: Remove.
* config/cpu/ia64/atomic_word.h: Remove.
* config/cpu/powerpc/atomic_word.h: Remove.
* config/os/aix/atomic_word.h: Remove.
* configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
Use generic definition.
From-SVN: r224413
Ramana Radhakrishnan [Fri, 12 Jun 2015 09:53:24 +0000 (09:53 +0000)]
Use atomics in guard.cc / remove special casing in targets.
The PowerPC, AIX, Alpha, IA64 implementations of atomic_word.h are in no
way different from what can be achieved with the generic rewrite in
Patch 1 of this series - delete these.
2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/cpu/alpha/atomic_word.h: Remove.
* config/cpu/ia64/atomic_word.h: Remove.
* config/cpu/powerpc/atomic_word.h: Remove.
* config/os/aix/atomic_word.h: Remove.
* configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
Use generic definition.
From-SVN: r224412
Ramana Radhakrishnan [Fri, 12 Jun 2015 09:49:41 +0000 (09:49 +0000)]
Use atomics in guard.cc.
This provides proper definitions for _GLIBCXX_READ_MEM_BARRIER and
_GLIBCXX_WRITE_MEM_BARRIER, rewrites the guards in terms of proper
atomic extensions and removes internal uses of
_GLIBCXX_READ_MEM_BARRIER and _GLIBCXX_WRITE_MEM_BARRIER and replaces
them with equivalent atomics.
2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/66200
PR c++/66192
* * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define
(_GLIBCXX_WRITE_MEM_BARRIER): Likewise
* include/bits/shared_ptr_base.h: Use ACQ_REL barrier.
* include/ext/atomicity.h: Likewise.
* include/tr1/shared_ptr.h: Likewise.
* libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics.
Update comment.
(__set_and_release): Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
line numbers.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
Likewise.
From-SVN: r224411
Uros Bizjak [Fri, 12 Jun 2015 09:06:27 +0000 (11:06 +0200)]
emit-rtl.c (need_atomic_barrier_p): Mask model with MEMMODEL_BASE_MASK.
* emit-rtl.c (need_atomic_barrier_p): Mask model with
MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
From-SVN: r224410
DJ Delorie [Fri, 12 Jun 2015 05:59:31 +0000 (01:59 -0400)]
lto-lang.c (lto_type_for_size): Include intN types.
* lto-lang.c (lto_type_for_size): Include intN types.
(lto_type_for_mode): Likewise.
From-SVN: r224408
David Edelsohn [Fri, 12 Jun 2015 00:32:08 +0000 (00:32 +0000)]
dbxout.c (xcoff_debug_hooks): Provide a function for register_main_translation_unit hook.
* dbxout.c (xcoff_debug_hooks): Provide a function for
register_main_translation_unit hook.
From-SVN: r224407
GCC Administrator [Fri, 12 Jun 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r224406
Martin Sebor [Fri, 12 Jun 2015 00:01:50 +0000 (00:01 +0000)]
re PR sanitizer/65479 (sanitizer stack trace missing frames past #0 on powerpc64)
2015-06-11 Martin Sebor <msebor@redhat.com>
PR sanitizer/65479
* dwarf.c (struct line): Add new field idx.
(line_compare): Use it.
(add_line): Set it.
(read_line_info): Reset it.
From-SVN: r224402
David Edelsohn [Fri, 12 Jun 2015 00:00:53 +0000 (00:00 +0000)]
rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC variants cases from switch.
* config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
variants cases from switch.
(rs6000_post_atomic_barrier): Same.
(rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
(rs6000_expand_atomic_exchange): Same.
(rs6000_expand_atomic_op): Same.
* config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
SYNC variants cases from switch.
(atomic_load): Same.
(atomic_store): Same.
From-SVN: r224401
Jonathan Wakely [Thu, 11 Jun 2015 23:22:19 +0000 (00:22 +0100)]
tuple (__is_tuple_like_impl): Disambiguate array in debug and profile modes.
* include/std/tuple (__is_tuple_like_impl): Disambiguate array in
debug and profile modes.
* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests
for swap in C++11 and later.
From-SVN: r224397
John David Anglin [Thu, 11 Jun 2015 23:20:33 +0000 (23:20 +0000)]
pa.c (pa_output_global_address): Handle LABEL_REF plus CONST_INT for goto.
* config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
CONST_INT for goto.
From-SVN: r224396
Steve Ellcey [Thu, 11 Jun 2015 21:53:44 +0000 (21:53 +0000)]
stringop-2.c: Fix ifdef __mips.
2015-06-11 Steve Ellcey <sellcey@imgtec.com>
* gcc.dg/tree-prof/stringop-2.c: Fix ifdef __mips.
From-SVN: r224394
Aldy Hernandez [Thu, 11 Jun 2015 20:46:46 +0000 (20:46 +0000)]
re PR bootstrap/66448 (Bootstrap fails on darwin after r224161)
PR bootstrap/66448
* dwarf2out.c (check_die): Check for common duplicate attributes.
(add_location_or_const_value_attribute): Do not add duplicate
attributes.
(gen_formal_parameter_die): Do not add DW_AT_artificial the second
time around.
(gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
(gen_type_die_with_usage): Call check_die.
(dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
From-SVN: r224393
Jason Merrill [Thu, 11 Jun 2015 17:33:40 +0000 (13:33 -0400)]
dwarf2out.c (prune_unused_types): Handle unused top-level limbo dies.
* dwarf2out.c (prune_unused_types): Handle unused top-level limbo
dies.
From-SVN: r224391
Marek Polacek [Thu, 11 Jun 2015 17:18:34 +0000 (17:18 +0000)]
* match.pd ((x & y) ^ (x | y)): Don't check for single_use.
From-SVN: r224390
Pierre-Marie de Rodat [Thu, 11 Jun 2015 16:03:47 +0000 (16:03 +0000)]
Fix misplaced ChangeLog entries
From-SVN: r224387
This page took 0.116296 seconds and 5 git commands to generate.