1. 02 Jun, 2017 4 commits
    • re PR rtl-optimization/80903 (ICE: internal consistency failure (error: invalid… · 74b4885d
      re PR rtl-optimization/80903 (ICE: internal consistency failure (error: invalid rtl sharing found in the insn))
      
      	PR rtl-optimization/80903
      	* loop-doloop.c (add_test): Unshare sequence.
      
      	* gcc.dg/pr80903.c: New test.
      
      From-SVN: r248815
      Jakub Jelinek committed
    • re PR fortran/80918 (Assumed size whole array rejected in depend clause) · aad16012
      	PR fortran/80918
      	* openmp.c (resolve_omp_clauses): Fix a typo.
      
      	* gfortran.dg/gomp/pr80918.f90: New test.
      
      From-SVN: r248812
      Jakub Jelinek committed
    • invoke.texi: Document the -Wsizeof-pointer-div warning. · 40ffd95f
      gcc:
      2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * doc/invoke.texi: Document the -Wsizeof-pointer-div warning.
      
      gcc/c-family:
      2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * c.opt (Wsizeof-pointer-div): New warning option.
      
      gcc/c:
      2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * c-parser.c (c_parser_binary_expression): Implement the
              -Wsizeof_pointer_div warning.
              (c_parser_postfix_expression): Allow SIZEOF_EXPR as expr.original_code
              from a parenthesized expression.
              (c_parser_expr_list): Use c_last_sizeof_loc.
              * c-tree.h (c_last_sizeof_loc): New external.
              * c-typeck.c (c_last_sizeof_loc): New variable.
              (c_expr_sizeof_expr, c_expr_sizeof_type): Assign c_last_sizeof_loc.
      
      gcc/cp:
      2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * typeck.c (cp_build_binary_op): Implement the -Wsizeof_pointer_div
              warning.
      
      gcc/testsuite:
      2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * c-c++-common/Wsizeof-pointer-div.c: New test. 
              * gcc.dg/Wsizeof-pointer-memaccess1.c: Add test cases with parens.
              * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise.
              * gcc.target/i386/sse-init-v4hi-1.c: Fix test case.
              * gcc.target/i386/sse-init-v4sf-1.c: Likewise.
              * gcc.target/i386/sse-set-ps-1.c: Likewise.
              * gcc.target/i386/sse2-init-v16qi-1.c: Likewise.
              * gcc.target/i386/sse2-init-v2di-1.c: Likewise.
              * gcc.target/i386/sse2-init-v4si-1.c: Likewise.
              * gcc.target/i386/sse2-init-v8hi-1.c: Likewise.
              * gcc.target/i386/sse2-set-epi32-1.c: Likewise.
              * gcc.target/i386/sse2-set-epi64x-1.c: Likewise.
              * gcc.target/i386/sse4_1-init-v16qi-1.c: Likewise.
              * gcc.target/i386/sse4_1-init-v2di-1.c: Likewise.
              * gcc.target/i386/sse4_1-init-v4sf-1.c: Likewise.
              * gcc.target/i386/sse4_1-init-v4si-1.c: Likewise.
              * gcc.target/i386/sse4_1-set-epi32-1.c: Likewise.
              * gcc.target/i386/sse4_1-set-epi64x-1.c: Likewise.
              * gcc.target/i386/sse4_1-set-ps-1.c: Likewise.
              * libgomp.c/pr39591-2.c: Likewise.
              * libgomp.c/pr39591-3.c: Likewise.
      
      From-SVN: r248811
      Bernd Edlinger committed
    • Daily bump. · 616dbacb
      From-SVN: r248810
      GCC Administrator committed
  2. 01 Jun, 2017 26 commits
    • fold-vec-logical-ors-longlong.c: Update the target to power8-vector. · 052754ea
      
      [gcc/testsuite]
      
      2017-05-26  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-logical-ors-longlong.c:
      	Update the target to power8-vector.
      
      From-SVN: r248805
      Will Schmidt committed
    • * es.po: Update. · d80d5239
      From-SVN: r248802
      Joseph Myers committed
    • testsuite: ensure GCC_COLORS is unset · aa63913f
      gcc/testsuite/ChangeLog:
      	* lib/gcc-dg.exp: Ensure GCC_COLORS is unset.
      
      From-SVN: r248800
      David Malcolm committed
    • i386.c (x86_64_ms_sysv_extra_clobbered_registers): Make static. · 77560086
      2017-06-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * config/i386/i386.c (x86_64_ms_sysv_extra_clobbered_registers): Make
              static.
              (xlogue_layout::get_stack_space_used, xlogue_layout::s_instances,
              xlogue_layout::get_instance, logue_layout::xlogue_layout,
              sp_valid_at, fp_valid_at, choose_basereg): Formatting.
              (xlogue_layout::get_stub_rtx): Make static.
              (xlogue_layout::get_stub_name): Avoid const-cast, make static.
              (xlogue_layout::compute_stub_managed_regs): Rename to...
              (xlogue_layout::count_stub_managed_regs): ...this.
              (xlogue_layout::is_stub_managed_reg): New function.
              (xlogue_layout::m_stub_names): Rename to...
              (xlogue_layout::s_stub_names): ...this, make static.
              (xlogue_layout::STUB_INDEX_OFFSET, xlogue_layout::MIN_REGS,
              xlogue_layout::MAX_REGS, xlogue_layout::MAX_EXTRA_REGS,
              xlogue_layout::VARIANT_COUNT, xlogue_layout::STUB_NAME_MAX_LEN,
              xlogue_layout::s_stub_names): Instantiate statics.
              (stub_managed_regs): Remove.
              (ix86_save_reg): Use xlogue_layout::compute_stub_managed_regs.
              (disable_call_ms2sysv_xlogues): Rename to...
              (warn_once_call_ms2sysv_xlogues): ...this, and warn only once.
              (ix86_initial_elimination_offset, ix86_expand_call): Fix call_ms2sysv
              warning logic.
              (ix86_static_chain): Make sure that ix86_static_chain_on_stack can't
              change after reload_completed.
              (ix86_can_use_return_insn_p): Use the ix86_frame data structure
              directly.
              (ix86_expand_prologue): Likewise.
              (ix86_expand_epilogue): Likewise.
              (ix86_expand_split_stack_prologue): Likewise.
              (ix86_compute_frame_layout): Remove frame parameter ...
              (TARGET_COMPUTE_FRAME_LAYOUT): ... and export it as a target hook.
              (ix86_finalize_stack_realign_flags): Call ix86_compute_frame_layout
              only if necessary.
              (ix86_init_machine_status): Don't set use_fast_prologue_epilogue_nregs.
              (ix86_frame): Move from here ...
              * config/i386/i386.h (ix86_frame): ... to here.
              (machine_function): Remove use_fast_prologue_epilogue_nregs, cache the
              complete ix86_frame data structure instead.  Remove some_ld_name.
      
      From-SVN: r248798
      Bernd Edlinger committed
    • DWARF: add DW_AT_location for global decls with DECL_VALUE_EXPR · 2ded3754
      In GNAT, we materialize renamings that cannot be described in standard
      DWARF as synthetic variables that describe how to fetch the renamed
      object.  Look for "___XR" in gcc/ada/exp_dbug.ads for more details about
      this convention.
      
      In order to have a location for these variables in the debug info (GDB
      requires it not to discard the variable) but also to avoid allocating
      runtime space for them, we make these variable hold a DECL_VALUE_EXPR
      tree.  However, since GCC 7, the DWARF back-end no longer generates a
      DW_AT_location attribute for those.  This patch is an attempt to restore
      this attribute.
      
      gcc/
      
      	* dwarf2out.c (dwarf2out_late_global_decl): Add locations for
      	symbols that hold a DECL_VALUE_EXPR.
      
      gcc/testsuite/
      
      	* debug12.adb, debug12.ads: New testcase.
      
      From-SVN: r248792
      Pierre-Marie de Rodat committed
    • Fix cross compilation to Solaris · e34fd4dc
      	(GLIBCXX_CROSSCONFIG): Handle *-solaris* like *-linux* etc.
      	Remove *-solaris* section.
      	* configure: Regenerate.
      
      From-SVN: r248791
      Rainer Orth committed
    • [PR 80898] Propagate grp_write from disqualified SRA candidates · c8638450
      2017-06-01  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/80898
      	* tree-sra.c (process_subtree_disqualification): Removed.
      	(disqualify_candidate): Do not acll
      	process_subtree_disqualification.
      	(subtree_mark_written_and_enqueue): New function.
      	(propagate_all_subaccesses): Set grp_write of LHS subtree if the
      	RHS has been disqualified and re-queue LHS if necessary.  Apart
      	from that, ignore disqualified RHS.
      
      testsuite/
      	* gcc.dg/tree-ssa/pr80898.c: New test.
      	* gcc.dg/tree-ssa/pr80898-2.c: Likewise.
      
      From-SVN: r248790
      Martin Jambor committed
    • S/390: Don't fetch the return address early with ooo · 4ba66aee
      We used to load the return address slot some time in advance.  This
      helped on older machines to resolve the data dependencies in time.
      However, it is pointless on out of order CPUs.  Disabled with that
      patch.
      
      gcc/ChangeLog:
      
      2017-06-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/s390.c (s390_emit_epilogue): Disable early return
      	address fetch for z10 or later.
      
      From-SVN: r248789
      Andreas Krebbel committed
    • re PR c++/80812 (ICE: in build_value_init_noctor, at cp/init.c:483) · e257141f
      PR c++/80812
      
      cp/
      
      PR c++/80812
      * method.c (constructible_expr): Strip array types before calling
      build_value_init.
      
      libstdc++/
      
      PR c++/80812
      * testsuite/20_util/is_constructible/80812.cc: New.
      
      From-SVN: r248788
      Ville Voutilainen committed
    • re PR ada/80921 (cross compiling fails to build Ada shared libraries) · 2d16708f
      	PR ada/80921
      	* configure.ac (default_gnatlib_target): Remove bogus condition.
      	(have_getipinfo): Tweak.
      	* configure: Regenerate.
      
      From-SVN: r248785
      Eric Botcazou committed
    • re PR c++/80896 ([[nodiscard]] is ignored for functions returning references) · ac853c90
      /cp
      2017-06-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/80896
      	* cvt.c (convert_to_void): Possibly call maybe_warn_nodiscard
      	for case INDIRECT_REF too in the main switch.
      
      /testsuite
      2017-06-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/80896
      	* g++.dg/cpp1z/nodiscard5.C: New.
      
      From-SVN: r248784
      Paolo Carlini committed
    • [ARC] Fix tst_movb pattern. · 7841f13c
      The tst_movb pattern is missing guarding when spitting.
      
      gcc/
      2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.md (tst_movb): Add guard when splitting.
      
      testsuite/
      2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* gcc.target/arc/pr9001195952.c: New test.
      
      From-SVN: r248783
      Claudiu Zissulescu committed
    • [ARC] Test against frame_pointer_needed in arc_can_eliminate. · 19dc4752
      arc_can_eliminate is using arc_frmae_pointer_required() which is wrong
      as the frame_pointer_needed can be set on different conditions. Fix it
      by calling arc_frame_pointer_needed().
      
      gcc/
      2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_can_eliminate): Test against
      	arc_frame_pointer_needed.
      
      From-SVN: r248782
      Claudiu Zissulescu committed
    • [ARC] Prevent moving stores to the frame before the stack adjustment. · 2daad50b
      If the stack pointer is needed, emit a special barrier that will prevent
      the scheduler from moving stores to the frame before the stack adjustment.
      
      For example:
      
      [snip]
      	mov_s	fp,sp 	; frame pointer is set here
      [snip]
      	st	r1,[fp,-24]	; frame pointer is used here
      [snip]
      	sub_s	sp,sp,0x20	; stack pointer adjusted
      
      So we can easily see that any interrupt between the `st` and `sub`
      instruction will lead to faulty code as the interrupt routine will use
      a faulty sp register, and, potentially, overwriting the value stored
      by 'st' instruction. Thus, adding a scheduler barrier will force the
      compiler to emit the `sub` instruction before the store one.
      
      2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_expand_prologue): Emit a special barrier
      	to prevent store reordering.
      	* config/arc/arc.md (UNSPEC_ARC_STKTIE): Define.
      	(type): Add block type.
      	(stack_tie): Define special instruction to be used in
      	expand_prologue.
      
      From-SVN: r248781
      Claudiu Zissulescu committed
    • [ARC] Update (non)commutative_binary_comparison patterns. · 6f70ebc3
      gcc/
      2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.md (commutative_binary_comparison): Remove 'I'
      	constraint. It is not valid for the pattern.
      	(noncommutative_binary_comparison): Likewise.
      
      From-SVN: r248780
      Claudiu Zissulescu committed
    • [ARC] Change predicate movv2hi to avoid scaled addresses. · 30c0df2a
      2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/simdext.md (movv2hi_insn): Change predicate to avoid
      	scaled addresses.
      
      From-SVN: r248779
      Claudiu Zissulescu committed
    • [ARC] Allow r30 to be used by the reg-alloc. · 23c98523
      gcc/
      2018-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_conditional_register_usage): Allow r30 to
      	be used by the reg-alloc.
      
      From-SVN: r248778
      Claudiu Zissulescu committed
    • [ARC] Avoid use of hard registers before reg-alloc. · 0f75b668
      gcc/
      2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.md (mulsi3): Avoid use of hard registers before
      	reg-alloc when having mul64 or mul32x16 instructions.
      	(mulsidi3): Likewise.
      	(umulsidi3): Likewise.
      	(mulsi32x16): New pattern.
      	(mulsi64): Likewise.
      	(mulsidi64): Likewise.
      	(umulsidi64): Likewise.
      	(MUL32x16_REG): Define.
      	(mul64_600): Use MUL32x16_REG.
      	(mac64_600): Likewise.
      	(umul64_600): Likewise.
      	(umac64_600): Likewise.
      
      From-SVN: r248777
      Claudiu Zissulescu committed
    • [ARC] Make mulsi for A700 pattern commutative. · f533fdf6
      gcc/
      2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.md (mulsi3_700): Make it commutative.
      
      From-SVN: r248776
      Claudiu Zissulescu committed
    • Require label_values for some test-cases · f525e390
      2017-06-01  Tom de Vries  <tom@codesourcery.com>
      
      	* c-c++-common/pr43395.c: Add dg-require-effective-target label_values.
      	* gcc.c-torture/compile/asmgoto-1.c: Same.
      	* gcc.dg/20000707-1.c: Same.
      	* gcc.dg/pr38700.c: Same.
      	* gcc.dg/pr70169.c: Same.
      	* gcc.dg/pr80112.c: Same.
      	* gcc.dg/torture/pr51071-2.c: Same.
      	* gcc.dg/torture/pr51071.c: Same.
      	* gcc.dg/tree-ssa/alias-34.c: Same.
      
      From-SVN: r248775
      Tom de Vries committed
    • sparc.md (*zero_extendsidi2_insn_sp64): Set insn type for movstouw. · 96e1c37d
      gcc/ChangeLog:
      	* config/sparc/sparc.md (*zero_extendsidi2_insn_sp64): Set insn
      	type for movstouw.
      	(*sign_extendsidi2_insn): Likewise for movstosw.
      
      From-SVN: r248774
      Jose E. Marchesi committed
    • DWARF: for variants, produce unsigned discr. when debug type is unsigned · 9285616c
      In Ada, the Character type is supposed to be unsigned.  However,
      depending on the sign of C char types, GNAT can materialize it as a
      signed type for code generation purposes.  When this is the case, GNAT
      also attach a debug type to it so it is represented as an unsigned base
      type in the debug information.
      
      This change adapts record variant parts processing in the DWARF back-end
      so that when the debug type of discriminant is unsigned while
      discriminant values are signed themselves, we output unsigned
      discriminant values in DWARF.
      
      gcc/
      
      	* dwarf2out.c (get_discr_value): Call the get_debug_type hook on
      	the type of the input discriminant value.  Convert the
      	discriminant value of signedness vary.
      
      gcc/testsuite/
      
      	* gnat.dg/debug11.adb: New testcase.
      
      From-SVN: r248773
      Pierre-Marie de Rodat committed
    • c.opt (Wcatch-value): New shortcut for Wcatch-value=1. · 3fa4634c
              * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
              (Wcatch-value=1): Enable by -Wall.
      
              * doc/invoke.texi (-Wcatch-value): Document new shortcut.
              Add to -Wall section.
      
      From-SVN: r248772
      Volker Reichelt committed
    • re PR middle-end/66313 (Unsafe factorization of a*b+a*c) · 48932682
      2017-06-01  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/66313
      	* fold-const.c (fold_plusminus_mult_expr): If the factored
      	factor may be zero use a wrapping type for the inner operation.
      	* tree-tailcall.c (independent_of_stmt_p): Pass in to_move bitmap
      	and handle moved defs.
      	(process_assignment): Properly guard the unary op case.  Return a
      	tri-state indicating that moving the stmt before the call may allow
      	to continue.  Pass through to_move.
      	(find_tail_calls): Handle moving unrelated defs before
      	the call.
      
      	* c-c++-common/ubsan/pr66313.c: New testcase.
      	* gcc.dg/tree-ssa/loop-15.c: Adjust.
      
      From-SVN: r248771
      Richard Biener committed
    • Daily bump. · 58cdd35b
      From-SVN: r248770
      GCC Administrator committed
    • Fix up dg options to resolve make check failures Bill Seurer found · fcb99124
      when compiling --with-cpu=power6.
      
      2017-05-31  Steven Munroe  <munroesj@gcc.gnu.org>
      
      	* gcc.target/powerpc/bmi2-pdep32-1.c: Add -mcpu=power7 to
              dg-options.  Change dg-require-effective-target powerpc_vsx_ok
              to vsx_hw.  Add dg-skip-if directive to disable this test if
      	-mcpu overridden.
      	* gcc.target/powerpc/bmi2-pdep64-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-pext32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-pext64-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-pext64-1a.c: Add -mcpu=power7
      	to dg-option.  Add dg-skip-if directive to disable this test
      	for darwin.  Add dg-skip-if directive to disable this test if
      	-mcpu overridden.
      
      From-SVN: r248766
      Steven Munroe committed
  3. 31 May, 2017 10 commits