1. 11 Sep, 2018 7 commits
  2. 10 Sep, 2018 5 commits
    • re PR fortran/85395 ([F03] private clause contained in derived type acquires spurious scope) · d4beaf2a
      fix PR 85395
      
      2018-09-10  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/85395
      	* decl.c (match_binding_attributes): Use correct default accessibility
      	for procedure pointer components.
      
      2018-09-10  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/85395
      	* gfortran.dg/proc_ptr_comp_52.f90: New test case.
      
      From-SVN: r264196
      Janus Weil committed
    • i386.md (<sincos>xf2): Rename from *<sincos>xf2_i387. · 6f2dde9c
      	* config/i386/i386.md (<sincos>xf2): Rename from *<sincos>xf2_i387.
      	(*<sincos>_extend<mode>xf2_i387): Remove insn pattern.
      	(<sincos>mode2): New expander.
      	(sincos_extend<mode>xf3_i387): Remove insn pattern.
      	(sincos -> sin, cos splitters): Remove splitter patterns.
      	(sincos<mode>3): Change operand 2 predicate to general_operand.
      	Extend operand 2 to XFmode and generate sincosxf3 insn.
      	(fptanxf4_i387): Change mode of operands 0 and 3 to SFmode.
      	Change operand 3 predicate to const1_operand.
      	(fptan_extend<mode>xf4_i387): Remove insn pattern.
      	(tanxf2): Update operands in the call to fptanxf4_i387.
      	(tan<mode>2): Change operand 1 predicate to general_operand.
      	Extend operand 1 to XFmode and generate tanxf3 insn.
      	(atan2xf3): Rename from *fpatanxf3_i387.
      	(fpatan_extend<mode>xf3_i387): Remove insn pattern.
      	(atan2xf3): Remove expander.
      	(atan2<mode<3):  Change operand 1 and 2 predicates to general_operand.
      	Extend operands 1 and 2 to XFmode and generate atan2xf3 insn.
      	(atan<mode>2): Change operand 1 predicate to general_operand.
      	Extend operand 1 to XFmode and generate atanxf3 insn.
      
      From-SVN: r264195
      Uros Bizjak committed
    • i386.md (x87/SSE constant load splitter): Use memory_operand instead of… · dfc74155
      i386.md (x87/SSE constant load splitter): Use memory_operand instead of nonimmediate_operand for input operand predicate.
      
      	* config/i386/i386.md (x87/SSE constant load splitter): Use
      	memory_operand instead of nonimmediate_operand for input operand
      	predicate.
      
      From-SVN: r264194
      Uros Bizjak committed
    • class.c (build_vtbl_ref): Remove. · fe56b8a2
      	* class.c (build_vtbl_ref): Remove.
      	(build_vtbl_ref_1): Rename to build_vtbl_ref.
      	(build_vfn_ref): Call build_vtbl_ref instead of build_vtbl_ref_1.
      
      From-SVN: r264193
      Marek Polacek committed
    • Daily bump. · 0fa6c49b
      From-SVN: r264189
      GCC Administrator committed
  3. 09 Sep, 2018 8 commits
  4. 08 Sep, 2018 6 commits
  5. 07 Sep, 2018 6 commits
    • Remove unused init_unsigned_integer function. · d4c0eb58
      As pointed out by Bernhard Reutner-Fischer, this function is unused
      since the fix for PR 53796 in November 2017.
      
      2018-09-07  Janne Blomqvist  <jb@gcc.gnu.org>
      
              * runtime/environ.c (init_unsigned_integer): Remove.
      
      From-SVN: r264163
      Janne Blomqvist committed
    • * config/i386/i386.md (float<SWI48x:mode><MODEF:mode>2) Enable · 785425e1
      	DImode for x87 on 32bit targets.  Conditionally disable x87 modes
      	with X87_ENABLE_FLOAT.  Remove preparation code.
      	(*float<SWI48:mode><MODEF:mode>2): Rename from
      	*float<SWI48:mode><MODEF:mode>2_mixed.  Handle x87, SSE and mixed
      	math using "enabled" attribute.
      	(*floatdi<MODEF:mode>2_i387): Rename from
      	*float<SWI48x:mode><MODEF:mode>2_i387.  Handle only DImode and
      	enable for 32bit targets only.
      	(floatdi<X87MODEF:mode>2_i387_with_xmm pre-reload splitter): New
      	splitter.
      	(floatdi<X87MODEF:mode>2_i387_with_xmm): Use register_operand
      	as operand 1 predicate.  Rewrite as define_insn_and_split.
      	(floatdi<X87MODEF:mode>2_i387_with_xmm memory input splitter): Remove.
      
      From-SVN: r264160
      Uros Bizjak committed
    • direct-enum-init1.C: Remove "inside" from diagnostic messages. · 6435284e
      	* g++.dg/cpp1z/direct-enum-init1.C: Remove "inside" from diagnostic
      	messages.
      
      From-SVN: r264159
      Marek Polacek committed
    • PR c++/87152 - range-based for loops with initializer broken in templates. · 8112667c
      	* constexpr.c (potential_constant_expression_1) <case RANGE_FOR_STMT>:
      	Recur into RANGE_FOR_INIT_STMT.
      	* cp-tree.def: Add RANGE_FOR_INIT_STMT to RANGE_FOR_STMT.
      	* cp-tree.h (RANGE_FOR_INIT_STMT): Define.
      	* dump.c (cp_dump_tree) <case RANGE_FOR_STMT>: Also dump
      	RANGE_FOR_INIT_STMT.
      	* pt.c (tsubst_expr) <case RANGE_FOR_STMT>: Recur into
      	RANGE_FOR_INIT_STMT.
      	* semantics.c (begin_range_for_stmt): Adjust call to build_stmt.
      	Do put the init statement in RANGE_FOR_INIT_STMT.
      	(finish_range_for_decl): Pop it for templates.
      
      	* g++.dg/cpp2a/range-for11.C: New test.
      	* g++.dg/cpp2a/range-for12.C: New test.
      	* g++.dg/cpp2a/range-for13.C: New test.
      	* g++.dg/cpp2a/range-for14.C: New test.
      	* g++.dg/cpp2a/range-for15.C: New test.
      	* g++.dg/cpp2a/range-for16.C: New test.
      	* g++.dg/cpp2a/range-for17.C: New test.
      	* g++.dg/cpp2a/range-for18.C: New test.
      	* g++.dg/parse/error61.C (foo): Adjust dg-error.
      
      From-SVN: r264158
      Marek Polacek committed
    • Fix C++17 expected errors for pointer to member function template args. · 6bf9284f
      * g++.dg/template/ptrmem20.C: Adjust expected diagnostic.
      * g++.dg/template/ptrmem8.C: Likewise.
      
      From-SVN: r264157
      Jason Merrill committed
    • Daily bump. · 446a6651
      From-SVN: r264155
      GCC Administrator committed
  6. 06 Sep, 2018 8 commits
    • reg-stack.c (get_true_reg): Reorder to fallthru to FLOAT case. · b3892454
      	* reg-stack.c (get_true_reg) <case FLOAT_TRUNCATE>: Reorder
      	to fallthru to FLOAT case.
      
      From-SVN: r264151
      Uros Bizjak committed
    • re PR target/86731 (Miscompiles vec_sl at -O3 with -fwrapv on ppc64el) · bd46d32c
      [gcc]
      
      2018-09-06  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	PR target/86731
      	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Update logic
      	around folding of vec_sl to handle out of range shift values.
      
      [testsuite]
      
      2018-08-15  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	PR target/86731
      	* gcc.target/powerpc/pr86731.c: New test.
      	* gcc.target/powerpc/pr86731-longlong.c: New test.
      	* gcc.target/powerpc/pr86731-fwrapv.c: New test.
      	* gcc.target/powerpc/pr86731-fwrapv-longlong.c: New test.
      	* gcc.target/powerpc/pr86731-nogimplefold.c: New test.
      	* gcc.target/powerpc/pr86731-nogimplefold-longlong.c: New test.
      
      From-SVN: r264150
      Will Schmidt committed
    • i386.md (fix_trunc<mode>_fisttp_i387_1): Remove. · 423c2a26
      	* config/i386/i386.md (fix_trunc<mode>_fisttp_i387_1): Remove.
      	Update callers to gen_fix_trunc<mode>_i387_fisttp
      	(fix_trunc<mode>_i387_fisttp): Change operand 0 predicate to
      	nonimmediate_operand.
      	(fix_trunc<mode>_i387_fisttp_with_temp): Remove insn pattern
      	and corresponding splitters.
      	(*fix_trunc<mode>_i387_1): Always expand with fix_trunc<mode>_i387.
      	(fix_truncdi_i387): Change operand 0 predicate to nonimmediate_operand.
      	(fix_truncdi_i387_with_temp): Remove insn pattern
      	and corresponding splitters.
      	(fix_trunc<mode>_i387): Change operand 0 predicate to
      	nonimmediate_operand.
      	(fix_trunc<mode>_i387_with_temp): Remove insn pattern
      	and corresponding splitters.
      	(*fistdi2_1): Remove.
      	(fistdi2): Ditto.
      	(fistdi2_with_temp): Remove insn pattern and corresponding splitters.
      	(lrintxfdi2): Remove expander.  Reimplement as define_insn.
      	(*fist<mode>2_1): Remove.
      	(fist<mode>2): Ditto.
      	(fist<mode>2_with_temp): Remove insn pattern and corresponding
      	splitters.
      	(lrintxf<mode>2): Remove expander.  Reimplement as define_insn.
      	(*fist<mode>2_<rounding>_1): Always expand with fist<mode>2_<rounding>.
      	(fistdi2_<rounding>): Change operand 0 predicate to
      	nonimmediate_operand.
      	(fistdi2_<rounding>_with_temp): Remove insn pattern
      	and corresponding splitters.
      	(fist<mode>2_<rounding>): Change operand 0 predicate to
      	nonimmediate_operand.
      	(fist<mode>2_<rounding>_with_temp): Remove insn pattern
      	and corresponding splitters.
      
      	(*fixuns_trunc<mode>si2_avx512f_zext): Depend on TARGET_SSE_MATH.
      
      From-SVN: r264148
      Uros Bizjak committed
    • varasm.c (output_constructor_regular_field): Check TYPE_SIZE_UNIT of the init value. · 6d900107
      	* varasm.c (output_constructor_regular_field): Check TYPE_SIZE_UNIT of
      	the init value.
      
      	* c-common.c (complete_flexible_array_elts): New helper function.
      	* c-common.h (complete_flexible_array_elts): Declare.
      
      	* c-decl.c (finish_decl): Call complete_flexible_array_elts.
      
      	* decl.c (check_initializer): Call cp_complete_array_type.
      
      From-SVN: r264147
      Bernd Edlinger committed
    • rs6000.c (rs6000_gimple_fold_builtin): Add support for early gimple folding of vec_splat(). · 6847c656
      [gcc]
      
      2018-09-06  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for
      	early gimple folding of vec_splat().
      	* tree-vect-generic.c: Remove static from tree_vec_extract() definition.
      	* gimple-fold.h: Add an extern define for tree_vec_extract().
      
      From-SVN: r264146
      Will Schmidt committed
    • rs6000.c (fold_mergehl_helper): Add types_compatible_p wrappers around TREE_TYPE comparisons. · 84bde0bf
      [gcc]
      
      2018-08-20  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (fold_mergehl_helper): Add types_compatible_p
      	wrappers around TREE_TYPE comparisons.
      
      From-SVN: r264145
      Will Schmidt committed
    • S/390: Prohibit SYMBOL_REF in UNSPECV_CAS · bdb57bcb
      Inhibit constant propagation inlining SYMBOL_REF loads into
      UNSPECV_CAS.  Even though reload can later undo it, the resulting
      code will be less efficient.
      
      gcc/ChangeLog:
      
      2018-09-06  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	PR target/80080
      	* config/s390/predicates.md: Add nonsym_memory_operand.
      	* config/s390/s390.c (s390_legitimize_cs_operand): If operand
      	contains a SYMBOL_REF, load it into an intermediate pseudo.
      	(s390_emit_compare_and_swap): Legitimize operand.
      	* config/s390/s390.md: Use the new nonsym_memory_operand
      	with UNSPECV_CAS patterns.
      
      gcc/testsuite/ChangeLog:
      
      2018-09-06  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	PR target/80080
      	* gcc.target/s390/pr80080-3.c: New test.
      	* gcc.target/s390/s390.exp: Make sure the new test passes
      	on all optimization levels.
      
      From-SVN: r264143
      Ilya Leoshkevich committed
    • S/390: Register pass_s390_early_mach statically · d7252499
      The dump file used to come at the end of the sorted dump file list,
      because the pass was registered dynamically. This did not reflect the
      order in which passes are executed. Static registration fixes this:
      
      * foo4.c.277r.split2
      * foo4.c.281r.early_mach
      * foo4.c.282r.pro_and_epilogue
      
      gcc/ChangeLog:
      
      2018-09-06  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	PR target/80080
      	* config/s390/s390-passes.def: New file.
      	* config/s390/s390-protos.h (class rtl_opt_pass): Add forward
      	declaration.
      	(make_pass_s390_early_mach): Add declaration.
      	* config/s390/s390.c (make_pass_s390_early_mach):
      	(s390_option_override): Remove dynamic registration.
      	* config/s390/t-s390: Add s390-passes.def.
      
      From-SVN: r264142
      Ilya Leoshkevich committed