1. 29 Mar, 2017 8 commits
  2. 28 Mar, 2017 29 commits
    • * es.po: Update. · df709d77
      From-SVN: r246557
      Joseph Myers committed
    • Implement LWG 2900, The copy and move constructors of optional are not constexpr. · 250f5b6c
      Implement LWG 2900, The copy and move constructors
      of optional are not constexpr.
      * include/std/optional (_Optional_payload): New.
      (_Optional_base): Remove the bool parameter.
      (_Optional_base<_Tp, false>): Remove.
      (_Optional_base()): Adjust.
      (_Optional_base(nullopt_t)): Likewise.
      (_Optional_base(in_place_t, _Args&&...)): Likewise.
      (_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)):
      Likewise.
      (_Optional_base(const _Optional_base&)): Likewise.
      (_Optional_base(_Optional_base&&)): Likewise.
      (operator=(const _Optional_base&)): Likewise.
      (operator=(_Optional_base&&)): Likewise.
      (~_Optional_base()): Remove.
      (_M_is_engaged()): Adjust.
      (_M_get()): Likewise.
      (_M_construct(_Args&&...)): Likewise.
      (_M_destruct()): Likewise.
      (_M_reset()): Likewise.
      (_Optional_base::_Empty_byte): Remove.
      (_Optional_base::_M_empty): Remove.
      (_Optional_base::_M_payload): Adjust.
      * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
      * testsuite/20_util/optional/constexpr/cons/value.cc: Add tests.
      
      From-SVN: r246556
      Ville Voutilainen committed
    • rs6000: Fix gcc.target/powerpc/gcse-1.c for PIC (PR43496) · 19846619
      With PIC a @ha relocation isn't generated, so skip that test then.
      
      
      	PR testsuite/43496
      	* gcc.target/powerpc/gcse-1.c: Skip scan-assembler-times "@ha" if
      	generating PIC code.
      
      From-SVN: r246555
      Segher Boessenkool committed
    • re PR rtl-optimization/80193 (ICE on valid (but hairy) C code at -O3 on… · e5119fab
      re PR rtl-optimization/80193 (ICE on valid (but hairy) C code at -O3 on x86_64-linux-gnu: in check_allocation, at ira.c:2563)
      
      2017-03-28  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/80193
      	* ira.c (ira): Do not check allocation for LRA.
      
      2017-03-28  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/80193
      	* gcc.target/i386/pr80193.c: New.
      
      From-SVN: r246554
      Vladimir Makarov committed
    • re PR go/80226 (ICE gimple-expr.c:474 on Go function returning multiple empty struct/array values) · 1f599d75
      	PR go/80226
      	* go-gcc.cc (Gcc_backend::return_statement): Check for
      	void_type_node when checking result size.
      
      From-SVN: r246553
      Than McIntosh committed
    • OpenMP/PTX privatization in SIMD regions · 0c6b03b5
      	* config/nvptx/nvptx-protos.h (nvptx_output_simt_enter): Declare.
      	(nvptx_output_simt_exit): Declare.
      	* config/nvptx/nvptx.c (nvptx_init_unisimt_predicate): Use
      	cfun->machine->unisimt_location.  Handle NULL unisimt_predicate.
      	(init_softstack_frame): Move initialization of crtl->is_leaf to...
      	(nvptx_declare_function_name): ...here.  Emit declaration of local
      	memory space buffer for omp_simt_enter insn.
      	(nvptx_output_unisimt_switch): New.
      	(nvptx_output_softstack_switch): New.
      	(nvptx_output_simt_enter): New.
      	(nvptx_output_simt_exit): New.
      	* config/nvptx/nvptx.h (struct machine_function): New fields
      	has_simtreg, unisimt_location, simt_stack_size, simt_stack_align.
      	* config/nvptx/nvptx.md (UNSPECV_SIMT_ENTER): New unspec.
      	(UNSPECV_SIMT_EXIT): Ditto.
      	(omp_simt_enter_insn): New insn.
      	(omp_simt_enter): New expansion.
      	(omp_simt_exit): New insn.
      	* config/nvptx/nvptx.opt (msoft-stack-reserve-local): New option.
      
      	* internal-fn.c (expand_GOMP_SIMT_ENTER): New.
      	(expand_GOMP_SIMT_ENTER_ALLOC): New.
      	(expand_GOMP_SIMT_EXIT): New.
      	* internal-fn.def (GOMP_SIMT_ENTER): New internal function.
      	(GOMP_SIMT_ENTER_ALLOC): Ditto.
      	(GOMP_SIMT_EXIT): Ditto.
      	* target-insns.def (omp_simt_enter): New insn.
      	(omp_simt_exit): Ditto.
      	* omp-low.c (struct omplow_simd_context): New fields simt_eargs,
      	simt_dlist.
      	(lower_rec_simd_input_clauses): Implement SIMT privatization.
      	(lower_rec_input_clauses): Likewise.
      	(lower_lastprivate_clauses): Handle SIMT privatization.
      
      	* omp-offload.c: Include langhooks.h, tree-nested.h, stor-layout.h.
      	(ompdevlow_adjust_simt_enter): New.
      	(find_simtpriv_var_op): New.
      	(execute_omp_device_lower): Handle IFN_GOMP_SIMT_ENTER,
      	IFN_GOMP_SIMT_ENTER_ALLOC, IFN_GOMP_SIMT_EXIT.
      
      	* tree-inline.h (struct copy_body_data): New field dst_simt_vars.
      	* tree-inline.c (expand_call_inline): Handle SIMT privatization.
      	(copy_decl_for_dup_finish): Ditto.
      
      	* tree-ssa.c (execute_update_addresses_taken): Handle GOMP_SIMT_ENTER.
      
      From-SVN: r246550
      Alexander Monakov committed
    • re PR fortran/78661 ([OOP] Namelist output missing object designator under DTIO) · cf474530
      2017-03-28  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/78661
      	* trans-io.c (transfer_namelist_element): Perform a polymorphic call
      	to a DTIO procedure if necessary.
      
      2017-03-28  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/78661
      	* gfortran.dg/dtio_25.f90: Modified test case.
      	* gfortran.dg/dtio_27.f90: New test case.
      
      2017-03-28  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/78661
      	* io/write.c (nml_write_obj): Build a class container only if necessary.
      
      From-SVN: r246546
      Janus Weil committed
    • * ChangeLog: Fix my ChangeLog entry. · 189d9d3a
      From-SVN: r246545
      Uros Bizjak committed
    • re PR target/53383 (Allow -mpreferred-stack-boundary=3 on x86-64) · 34fac449
      	PR target/53383
      	* config/i386/i386.c (ix86_option_override_internal): Always
      	allow -mincoming-stack-boundary=3 for 64-bit targets.
      
      testsuite/ChangeLog:
      
      	PR target/53383
      	* gcc.target/i386/pr53383-1.c (dg-options): Remove -mno-sse.
      	* gcc.target/i386/pr53383-2.c (dg-options): Ditto.
      	* gcc.target/i386/pr53383-3.c (dg-options): Ditto.
      
      From-SVN: r246543
      Uros Bizjak committed
    • PR libstdc++/80137 use std::nextafter instead of looping · 92d85953
      	PR libstdc++/80137
      	* include/bits/random.tcc (generate_canonical): Use std::nextafter
      	or numeric_limits::epsilon() to reduce out-of-range values.
      	* testsuite/26_numerics/random/uniform_real_distribution/operators/
      	64351.cc: Verify complexity requirement is met.
      
      From-SVN: r246542
      Jonathan Wakely committed
    • tree-vect-loop.c (optimize_mask_stores): Add bb to the right loop. · 9d384e80
      	* tree-vect-loop.c (optimize_mask_stores): Add bb to the right
      	loop.
      
      From-SVN: r246541
      Bin Cheng committed
    • tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and mark new edge's… · 3e907b90
      tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and mark new edge's irreducible flag accordign to it.
      
      	* tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and
      	mark new edge's irreducible flag accordign to it.
      	(vect_do_peeling): Check loop preheader edge's irreducible flag
      	and pass it to function slpeel_add_loop_guard.
      	gcc/testsuite
      	* gcc.c-torture/compile/irreducible-loop.c: New.
      
      From-SVN: r246540
      Bin Cheng committed
    • re PR tree-optimization/80218 (tree-call-cdce does not update block frequencies) · 522818b9
      gcc/
      	PR tree-optimization/80218
      	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
      	Update block frequencies and counts.
      
      gcc/testsuite/
      	PR tree-optimization/80218
      	* gcc.dg/pr80218.c: New test.
      
      From-SVN: r246538
      Richard Sandiford committed
    • re PR ipa/78644 (ICE: SIGSEGV in is_gimple_reg_type with -Og -fipa-cp) · ea7d7da8
      2017-03-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78644
      	* tree-ssa-ccp.c (evaluate_stmt): When we may not use the value
      	of a simplification result we may not use it at all.
      
      	* gcc.dg/pr78644-1.c: New testcase.
      	* gcc.dg/pr78644-2.c: Likewise.
      
      From-SVN: r246534
      Richard Biener committed
    • Skip pic-3,4.c and pie-3,4.c for mips*-*-linux-*. · 498173ef
      gcc/testsuite/
      
      	* gcc.dg/pic-3.c: Skip for mips*-*-linux-*.
      	* gcc.dg/pic-4.c: Likewise.
      	* gcc.dg/pie-3.c: Likewise.
      	* gcc.dg/pie-4.c: Likewise.
      
      From-SVN: r246533
      Toma Tabacu committed
    • Add _GLIBCXX_RELEASE macro to "Using" section of manual · a138d52a
      	* doc/xml/manual/abi.xml: Add xml:id anchor.
      	* doc/xml/manual/using.xml (manual.intro.using.macros): Document
      	_GLIBCXX_RELEASE. Link to new anchor for __GLIBCXX__ notes.
      	(concurrency.io.structure): Add markup.
      	* doc/html/*: Regenerate.
      
      From-SVN: r246532
      Jonathan Wakely committed
    • Handle PHI nodes w/o a argument (PR ipa/80205). · c5ad2433
      2017-03-28  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/80205
      	* g++.dg/ipa/pr80205.C: New test.
      2017-03-28  Richard Biener  <rguenther@suse.de>
      
      	PR ipa/80205
      	* tree-inline.c (copy_phis_for_bb): Do not create PHI node
      	without arguments, generate default definition of a SSA name.
      
      From-SVN: r246530
      Martin Liska committed
    • Fix broken tests for avr target · 17722fb9
      These tests assume {unsigned,} ints are 32 bits or wider. Explicitly
      specify __{U}INT32_TYPE__ for targets with __SIZEOF_INT__ < 4.
      
      gcc/testsuite/
      
      2017-03-28  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
      
      	* gcc.c-torture/execute/pr79121.c:Use __{U}INT32_TYPE__ for targets
      	with sizeof(int) < 4.
      	* gcc.c-torture/execute/pr79737-1.c (struct S): Likewise.
      	* gcc.c-torture/execute/pr79737-2.c: Likewise.
      	* gcc.dg/torture/pr79777.c: Likewise.
      	* gcc.dg/torture/pr79910.c: Likewise.
      
      From-SVN: r246529
      Senthil Kumar Selvaraj committed
    • Support for Ada on aarch64 with -mabi=ilp32 · 41f44717
      	PR ada/80117
      	* system-linux-aarch64-ilp32.ads: New file.
      	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
      	from LIBGNAT_TARGET_PAIRS.
      	(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
      	(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
      	LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
      	or -mabi=ilp32, resp.
      
      From-SVN: r246528
      Andreas Schwab committed
    • re PR middle-end/80222 (may_alias folded away) · 737f500a
      2017-03-28  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/80222
      	* gimple-fold.c (gimple_fold_indirect_ref): Do not touch
      	TYPE_REF_CAN_ALIAS_ALL references.
      	* fold-const.c (fold_indirect_ref_1): Likewise.
      
      	* g++.dg/pr80222.C: New testcase.
      
      From-SVN: r246527
      Richard Biener committed
    • Fix calls.c for a _complex type (PR ipa/80104). · 62f96a79
      2017-03-28  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/80104
      	* cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a
      	thunk call as DECL_GIMPLE_REG_P when vector or complex type.
      2017-03-28  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/80104
      	* gcc.dg/ipa/pr80104.c: New test.
      
      From-SVN: r246525
      Martin Liska committed
    • [ARC] Define _REENTRANT when -pthread is passed. · 0dee55fe
      The compiler is supposed to have the builtin defined _REENTRANT defined
      when -pthread is passed, which wasn't done on the ARC architecture.
      
      When _REENTRANT is not passed, the C library will not use reentrant
      functions, and the latest version of ax_pthread.m4 from the
      autoconf-archive will no longer detect that thread support is
      available (see https://savannah.gnu.org/patch/?8186).
      
      gcc/
      2017-03-28  Claudiu Zissulescu  <claziss@synopsys.com>
      	    Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      
      	* config/arc/arc.h (CPP_SPEC): Add subtarget_cpp_spec.
      	(EXTRA_SPECS): Define.
      	(SUBTARGET_EXTRA_SPECS): Likewise.
      	(SUBTARGET_CPP_SPEC): Likewise.
      	* config/arc/elf.h (EXTRA_SPECS): Renamed to
      	SUBTARGET_EXTRA_SPECS.
      	* config/arc/linux.h (SUBTARGET_CPP_SPEC): Define.
      
      Co-Authored-By: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      
      From-SVN: r246524
      Claudiu Zissulescu committed
    • [ARC] Update ARC SIMD patterns. · d1ab0a32
      vec_select expects in selection a list of subparts. The old ARC SIMD
      extension instructions were not up-to-date.
      
      gcc/
      2017-03-28  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/simdext.md (vst64_insn): Update pattern.
      	(vld32wh_insn): Likewise.
      	(vld32wl_insn): Likewise.
      	(vld64_insn): Likewise.
      	(vld32_insn): Likewise.
      
      From-SVN: r246523
      Claudiu Zissulescu committed
    • re PR sanitizer/80067 (ICE in fold_comparison with -fsanitize=undefined) · 72785f26
      	PR sanitizer/80067
      	* fold-const.c (fold_comparison): Use protected_set_expr_location
      	instead of SET_EXPR_LOCATION.
      
      	* c-c++-common/ubsan/shift-10.c: New test.
      
      From-SVN: r246521
      Marek Polacek committed
    • PR libstdc++/80229 restore support for shared_ptr<function type> · b1bd9158
      	PR libstdc++/80229
      	* include/bits/shared_ptr_base.h
      	(__shared_ptr::_M_enable_shared_from_this_with): Change parameters to
      	non-const and then use remove_cv to get unqualified type.
      	* testsuite/20_util/enable_shared_from_this/members/const.cc: Don't
      	cast away constness on object created const.
      	* testsuite/20_util/shared_ptr/cons/80229.cc: New test.
      
      From-SVN: r246520
      Jonathan Wakely committed
    • Avoid name lookup warning · a292245e
      /home/markus/gcc/gcc/tree.c: In function ‘void inchash::add_expr(const_tree, inchash::hash&, unsigned int)’:
      /home/markus/gcc/gcc/tree.c:8013:11: warning: name lookup of ‘i’ changed
            for (i = TREE_OPERAND_LENGTH (t) - 1; i >= 0; --i)
                 ^
      /home/markus/gcc/gcc/tree.c:7773:7: warning:   matches this ‘i’ under ISO standard rules
         int i;
             ^
      /home/markus/gcc/gcc/tree.c:7869:16: warning:   matches this ‘i’ under old rules
             for (int i = 0; i < TREE_VEC_LENGTH (t); ++i)
                      ^
      
      From-SVN: r246519
      Markus Trippelsdorf committed
    • Fix PR# in last commit · 4dbf1eee
      From-SVN: r246518
      Jeff Law committed
    • re PR target/80162 (ICE on invalid code (address of register variable)) · 86516987
              PR tree-optimization/80162
      	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Fix typo in
      	function name.  Limit recursion depth.
      	(record_temporary_equivalences): Corresponding changes.
      
      	PR tree-optimization/80162
      	* gcc.c-torture/compile/pr80216.c: New test.
      
      From-SVN: r246517
      Jeff Law committed
    • Daily bump. · 98099983
      From-SVN: r246516
      GCC Administrator committed
  3. 27 Mar, 2017 3 commits
    • Restructure -Wno-narrowing documentation · 7810f87a
      	* doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is
      	covered first.
      
      From-SVN: r246513
      Jonathan Wakely committed
    • re PR target/80162 (ICE on invalid code (address of register variable)) · a9e4a1a5
      	PR middle-end/80162
      c-family/
      	* c-common.c (c_common_mark_addressable_vec): Don't set
      	TREE_ADDRESSABLE on DECL_HARD_REGISTER.
      c/
      	* c-tree.h (c_mark_addressable): Add array_ref_p argument.
      	* c-typeck.c (c_mark_addressable): Likewise.  Look through
      	VIEW_CONVERT_EXPR unless array_ref_p and VCE is from VECTOR_TYPE
      	to ARRAY_TYPE.
      	(build_array_ref): Pass true as array_ref_p to c_mark_addressable.
      cp/
      	* cp-tree.h (cxx_mark_addressable): Add array_ref_p argument.
      	* typeck.c (cxx_mark_addressable): Likewise.  Look through
      	VIEW_CONVERT_EXPR unless array_ref_p and VCE is from VECTOR_TYPE
      	to ARRAY_TYPE.
      	(cp_build_array_ref): Pass true as array_ref_p to cxx_mark_addressable.
      testsuite/
      	* c-c++-common/pr80162-1.c: New test.
      	* c-c++-common/pr80162-2.c: New test.
      	* c-c++-common/pr80162-3.c: New test.
      
      From-SVN: r246512
      Jakub Jelinek committed
    • re PR target/80102 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2330) · aade772d
      	PR target/80102
      	* reg-notes.def (REG_CFA_NOTE): Define.  Use it for CFA related
      	notes.
      	* cfgcleanup.c (reg_note_cfa_p): New array.
      	(insns_have_identical_cfa_notes): New function.
      	(old_insns_match_p): Don't cross-jump in between /f
      	and non-/f instructions.  If both i1 and i2 are frame related,
      	verify all CFA notes, their order and content.
      
      	* g++.dg/opt/pr80102.C: New test.
      
      From-SVN: r246511
      Jakub Jelinek committed