1. 12 Feb, 2018 23 commits
    • re PR fortran/68746 (FAIL: gfortran.dg/read_dir.f90 -O0 execution test) · badf04f3
      2018-02-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/68746
      	* gfortran.dg/read_dir.f90: Re-add dg-do run.
      
      From-SVN: r257605
      Thomas Koenig committed
    • re PR fortran/68746 (FAIL: gfortran.dg/read_dir.f90 -O0 execution test) · 02e694ef
      2018-02-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/68746
      	* gfortran.dg/read_dir.f90: Remove xfails. Also allow iostat
      	of zero for read.
      
      From-SVN: r257604
      Thomas Koenig committed
    • libgfortran.h (GFC_ARRAY_DESCRIPTOR): Remove dimension of descriptor to use… · e9bfdf18
      libgfortran.h (GFC_ARRAY_DESCRIPTOR): Remove dimension of descriptor to use vaiable members for dim.
      
      2018-02-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* libgfortran.h (GFC_ARRAY_DESCRIPTOR): Remove dimension
      	of descriptor to use vaiable members for dim.
      	Change usage of GFC_ARRAY_DESCRIPTOR accordingly.
      	(GFC_FILL_ARRAY_DESCRIPTOR): New macro.
      	(gfc_full_array_i4): New type.
      	* intrinsics/date_and_time.c (secnds): Use sizeof
      	(gfc_array_i4) + sizeof (descriptor_dimension) for memory
      	allocation.
      	* intrinsics/reshape_generic.c: Use GFC_FULL_ARRAY_DESCRIPTOR.
      	* io/format.c: Use sizeof (gfc_array_i4) + sizeof
      	(descriptor_dimension) for memoy allocation.
      	* io/list_read.c (list_formatted_read_scalar): Use
      	gfc_full_array_i4 for variable.
      	(nml_read_obj): Likewise.
      	* io/write.c (list_formatted_write_scalar): Likewise.
      	(nml_write_obj): Likewise.
      	* m4/reshape.m4: Use GFC_FULL_ARRAY_DESCRIPTOR.
      	* generated/reshape_c10.c: Regenerated.
      	* generated/reshape_c16.c: Regenerated.
      	* generated/reshape_c4.c: Regenerated.
      	* generated/reshape_c8.c: Regenerated.
      	* generated/reshape_i16.c: Regenerated.
      	* generated/reshape_i4.c: Regenerated.
      	* generated/reshape_i8.c: Regenerated.
      	* generated/reshape_r10.c: Regenerated.
      	* generated/reshape_r16.c: Regenerated.
      	* generated/reshape_r4.c: Regenerated.
      	* generated/reshape_r8.c: Regenerated.
      
      From-SVN: r257601
      Thomas Koenig committed
    • compiler: error on func declaration/definition · 52eb4ab4
          
          Long long long ago Go permitted writing
              func F()
          in one file and writing
              func F() {}
          in another file.  This was removed from the language, and that is now
          considered to be a multiple definition error.  Gccgo never caught up
          to that, and it has been permitting this invalid code for some time.
          
          Stop permitting it, so that we give correct errors.  Since we've
          supported it for a long time, the compiler uses it in a couple of
          cases: it predeclares the hash/equal methods if it decides to create
          them while compiling another function, and it predeclares main.main as
          a mechanism for getting the right warning if a program uses the wrong
          signature for main.  For simplicity, keep those existing uses.
          
          This required a few minor changes in libgo which were relying,
          unnecessarily, on the current behavior.
          
          Reviewed-on: https://go-review.googlesource.com/93083
      
      From-SVN: r257600
      Ian Lance Taylor committed
    • re PR go/84215 (Random results in go/libgo tests) · 86ff1853
      	PR go/84215
          runtime, sync/atomic: use write barrier for atomic pointer functions
          
          This copies atomic_pointer.go from 1.10rc2.  It was omitted during the
          transition of the runtime from C to Go, and I forgot about it.
          
          This may help with https://gcc.gnu.org/PR84215.
          
          Reviewed-on: https://go-review.googlesource.com/93197
      
      From-SVN: r257599
      Ian Lance Taylor committed
    • cse.c (try_back_substitute_reg): Move any REG_ARGS_SIZE note when successfully… · 966a140d
      cse.c (try_back_substitute_reg): Move any REG_ARGS_SIZE note when successfully back substituting a reg.
      
      	* cse.c (try_back_substitute_reg): Move any REG_ARGS_SIZE note when
      	successfully back substituting a reg.
      
      	* gcc.c-torture/compile/reg-args-size.c: New test.
      
      From-SVN: r257598
      Jeff Law committed
    • builtins-4-runnable.c (main): Move int128 and uint128 tests to new testfile. · fa2faaa8
      gcc/testsuite/ChangeLog:
      
      2018-02-12  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtins-4-runnable.c (main): Move int128 and
      	uint128 tests to new testfile.
      	* gcc.target/powerpc/builtins-4-int128-runnable.c: New testfile for
      	int128 and uint128 tests.
      	* gcc.target/powerpc/powerpc.exp: Add builtins-4-int128-runnable.c to
      	list of torture tests.
      
      From-SVN: r257591
      Carl Love committed
    • re PR fortran/84273 ([F03] Reject allocatable passed-object dummy argument (proc_ptr_47.f90)) · 24abcc44
      2018-02-12  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/84273
      	* resolve.c (resolve_component): Fix checks of passed argument in
      	procedure-pointer components.
      
      
      2018-02-12  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/84273
      	* gfortran.dg/proc_ptr_47.f90: Fix invalid test case.
      	* gfortran.dg/proc_ptr_comp_pass_4.f90: Fix and extend test case.
      
      From-SVN: r257590
      Janus Weil committed
    • re PR tree-optimization/84037 (Speed regression of polyhedron benchmark since r256644) · 78604de0
      2018-02-12  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/84037
      	* tree-vect-slp.c (vect_analyze_slp_cost): Add visited
      	parameter, move visited init to caller.
      	(vect_slp_analyze_operations): Separate cost from validity
      	check, initialize visited once for all instances.
      	(vect_schedule_slp): Analyze map to CSE vectorized nodes once
      	for all instances.
      	* tree-vect-stmts.c (vect_model_simple_cost): Make early
      	out an assert.
      	(vect_model_promotion_demotion_cost): Likewise.
      	(vectorizable_bswap): Guard cost modeling with !slp_node
      	instead of !PURE_SLP_STMT to avoid double-counting on hybrid
      	SLP stmts.
      	(vectorizable_call): Likewise.
      	(vectorizable_conversion): Likewise.
      	(vectorizable_assignment): Likewise.
      	(vectorizable_shift): Likewise.
      	(vectorizable_operation): Likewise.
      	(vectorizable_store): Likewise.
      	(vectorizable_load): Likewise.
      	(vectorizable_condition): Likewise.
      	(vectorizable_comparison): Likewise.
      
      From-SVN: r257588
      Richard Biener committed
    • Corrected mistakes in ChangeLog spotted by Jakub Jelinek. · e1f30526
      From-SVN: r257587
      Sebastian Perta committed
    • re PR target/82641 (Unable to enable crc32 for a certain function with target… · c8cc0b65
      re PR target/82641 (Unable to enable crc32 for a certain function with target attribute on ARM (aarch32))
      
      2018-02-12  Tamar Christina  <tamar.christina@arm.com>
      
      	PR target/82641
      	* gcc.target/arm/pragma_arch_switch_2.c: Use armv5te.
      
      From-SVN: r257586
      Tamar Christina committed
    • re PR sanitizer/84307 (asan blocks dead-store elimination) · 74a5138a
      gcc:
      2018-02-12  Paolo Bonzini <bonzini@gnu.org>
      
      	PR sanitizer/84307
      	* internal-fn.def (ASAN_CHECK): Fix fnspec to account for return value.
      	(ASAN_MARK): Fix fnspec to account for return value, change pointer
      	argument from 'R' to 'W' so that the pointed-to datum is clobbered.
      
      gcc/testsuite:
      2018-02-12  Paolo Bonzini  <bonzini@gnu.org>
      
      	PR sanitizer/84307
      	* gcc.dg/asan/pr84307.c: New test.
      
      From-SVN: r257585
      Paolo Bonzini committed
    • [PR c++/84263] GC ICE with decltype · 4ec4afa8
      https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00435.html
      	PR c++/84263
      	* parser.c (cp_parser_decltype): Push and pop
      	deferring_access_checks.  Reorganize to avoid goto.
      
      	* g++.dg/parse/pr84263.C: New.
      
      From-SVN: r257584
      Nathan Sidwell committed
    • re PR c++/79626 (ICE on invalid code in build_temp (call.c:6489)) · 790cc674
      2018-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/79626
      	* g++.dg/template/crash129.C: New.
      
      From-SVN: r257583
      Paolo Carlini committed
    • re PR middle-end/83665 (Big code size regression and some code quality improvement at Jan 2 2018) · b9aba9fd
      
      	PR middle-end/83665
      	* params.def (inline-min-speedup): Increase from 8 to 15.
      	(max-inline-insns-auto): Decrease from 40 to 30.
      	* ipa-split.c (consider_split): Add some buffer for function to
      	be considered inlining candidate.
      	* invoke.texi (max-inline-insns-auto, inline-min-speedup): UPdate
      	default values.
      
      From-SVN: r257582
      Jan Hubicka committed
    • re PR tree-optimization/84037 (Speed regression of polyhedron benchmark since r256644) · 85c5e2f5
      2018-02-12  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/84037
      	* tree-vect-slp.c (vect_build_slp_tree_2): Try swapping the
      	matched stmts if we cannot swap the non-matched ones.
      
      From-SVN: r257581
      Richard Biener committed
    • re PR c++/84281 (Heap grows indefinitely) · 1e027956
      2018-02-12  Richard Biener  <rguenther@suse.de>
      
      	PR c++/84281
      	* constexpr.c (cxx_eval_vec_init_1): Use a RANGE_EXPR to compact
      	uniform constructors and delay allocating them fully.
      
      From-SVN: r257580
      Richard Biener committed
    • Fix AVX-512 popcnt and bitalg tests. · c337f361
      gcc/testsuite/
      	PR target/83828
      	* gcc.target/i386/avx512bitalg-vpopcntb-1.c: Fix test.
      	* gcc.target/i386/avx512bitalg-vpopcntw-1.c: Ditto.
      	* gcc.target/i386/avx512bitalg-vpshufbitqmb-1.c: Ditto.
      	* gcc.target/i386/avx512vpopcntdq-vpopcntd-1.c: Ditto.
      	* gcc.target/i386/avx512vpopcntdq-vpopcntq-1.c: Ditto.
      
      From-SVN: r257579
      Olga Makhotina committed
    • Add missing mask[z]_scalef_round_s[d,s] intrinsics · 158061a6
      gcc/
      	* config/i386/avx512fintrin.h (_mm_mask_scalef_round_sd,
      	_mm_maskz_scalef_round_sd, _mm_mask_scalef_round_ss,
      	_mm_maskz_scalef_round_ss): New intrinsics.
      	(__builtin_ia32_scalefsd_round, __builtin_ia32_scalefss_round): Fix.
      	* config/i386/i386-builtin.def (__builtin_ia32_scalefsd_round,
      	__builtin_ia32_scalefss_round): Remove.
      	(__builtin_ia32_scalefsd_mask_round,
      	__builtin_ia32_scalefss_mask_round): New intrinsics.
      	* config/i386/sse.md (vmscalef<mode><round_name>): Renamed to ...
      	(vmscalef<mode><mask_scalar_name><round_scalar_name>): ... this.
      	((match_operand:VF_128 2 "<round_nimm_predicate>"
      	"<round_constraint>")): Changed to ...
      	((match_operand:VF_128 2 "<round_scalar_nimm_predicate>"
      	"<round_scalar_constraint>")): ... this.
      	("vscalef<ssescalarmodesuffix>\t{<round_op3>%2, %1, %0|
      	%0, %1, %2<round_op3>}"): Changed to ...
      	("vscalef<ssescalarmodesuffix>\t{<round_scalar_mask_op3>%2, %1,
      	%0<mask_scalar_operand3>|%0<mask_scalar_operand3>, %1,
      	%2<round_scalar_mask_op3>}"): ... this.
      	* config/i386/subst.md (round_scalar_nimm_predicate): New.
      
      gcc/testsuite/
      	* gcc.target/i386/avx512f-vscalefsd-1.c (_mm_mask_scalef_round_sd,
      	_mm_maskz_scalef_round_sd): Test new intrinsics.
      	* gcc.target/i386/avx512f-vscalefsd-2.c (_mm_scalef_round_sd,
      	_mm_mask_scalef_round_sd, _mm_maskz_scalef_round_sd): Test new
      	intrinsics.
      	* gcc.target/i386/avx512f-vscalefss-1.c (_mm_mask_scalef_round_ss,
      	_mm_maskz_scalef_round_ss): Test new intrinsics.
      	* gcc.target/i386/avx512f-vscalefss-2.c (_mm_scalef_round_ss,
      	_mm_mask_scalef_round_ss, _mm_maskz_scalef_round_ss): Test new
      	intrinsics.
      	* gcc.target/i386/avx-1.c (__builtin_ia32_scalefsd_round,
      	__builtin_ia32_scalefss_round): Remove builtin.
      	(__builtin_ia32_scalefsd_mask_round,
      	__builtin_ia32_scalefss_mask_round): Test new builtin.
      	* gcc.target/i386/sse-13.c: Ditto.
      	* gcc.target/i386/sse-23.c: Ditto.
      
      From-SVN: r257578
      Olga Makhotina committed
    • Add missing ChangeLog entry for previous patch. · ba43b9fa
      From-SVN: r257577
      Olga Makhotina committed
    • Add missing intrinsics for _mm_mask[z]_sqrt_round_[sd,ss] · b10bc0d6
      gcc/
      	* config/i386/avx512fintrin.h (_mm_mask_sqrt_round_sd)
      	(_mm_maskz_sqrt_round_sd, _mm_mask_sqrt_round_ss)
      	(_mm_maskz_sqrt_round_ss): New intrinsics.
      	(__builtin_ia32_sqrtsd_round, __builtin_ia32_sqrtss_round): Remove.
      	(__builtin_ia32_sqrtsd_mask_round)
      	(__builtin_ia32_sqrtss_mask_round): New builtins.
      	* config/i386/i386-builtin.def (__builtin_ia32_sqrtsd_round)
      	(__builtin_ia32_sqrtss_round): Remove.
      	(__builtin_ia32_sqrtsd_mask_round)
      	(__builtin_ia32_sqrtss_mask_round): New builtins.
      	* config/i386/sse.md (vmsqrt<mode>2<round_name>): Renamed to ...
      	(vmsqrt<mode>2<mask_scalar_name><round_scalar_name>): ... this.
      	((match_operand:VF_128 1 "vector_operand"
      	"xBm,<round_constraint>")): Changed to ...
      	((match_operand:VF_128 1 "vector_operand"
      	"xBm,<round_scalar_constraint>")): ... this.
      	(vsqrt<ssescalarmodesuffix>\t{<round_op3>%1, %2, %0|
      	%0, %2, %<iptr>1<round_op3>}): Changed to ...
      	(vsqrt<ssescalarmodesuffix>\t{<round_scalar_mask_op3>%1, %2,
      	%0<mask_scalar_operand3>|%0<mask_scalar_operand3>, %2,
      	%<iptr>1<round_scalar_mask_op3>}): ... this.
      	((set_attr "prefix" "<round_prefix>")): Changed to ...
      	((set_attr "prefix" "<round_scalar_prefix>")): ... this.
      
      gcc/testsuite/
      	* gcc.target/i386/avx512f-vsqrtsd-1.c (_mm_mask_sqrt_round_sd)
      	(_mm_maskz_sqrt_round_sd): Test new intrinsics.
      	* gcc.target/i386/avx512f-vsqrtsd-2.c (_mm_sqrt_round_sd)
      	(_mm_mask_sqrt_round_sd, _mm_maskz_sqrt_round_sd): Test new intrinsics.
      	* gcc.target/i386/avx512f-vsqrtss-1.c (_mm_mask_sqrt_round_ss)
      	(_mm_maskz_sqrt_round_ss): Test new intrinsics.
      	* gcc.target/i386/avx512f-vsqrtss-2.c (_mm_sqrt_round_ss)
      	(_mm_mask_sqrt_round_ss,      _mm_maskz_sqrt_round_ss): Test new
      	intrinsics.
      	* gcc.target/i386/avx-1.c (__builtin_ia32_sqrtsd_round)
      	(__builtin_ia32_sqrtss_round): Remove builtins.
      	(__builtin_ia32_sqrtsd_mask_round)
      	(__builtin_ia32_sqrtss_mask_round): Test new builtins.
      	* gcc.target/i386/sse-13.c: Ditto.
      	* gcc.target/i386/sse-23.c: Ditto.
      
      From-SVN: r257576
      Olga Makhotina committed
    • PR c++/84036 - ICE with variadic capture. · dc58fa9f
      	Handle variadic capture proxies more like non-variadic.
      	* lambda.c (build_capture_proxy): Remove workaround.
      	* pt.c (find_parameter_packs_r): The proxy is a pack.
      	(instantiate_class_template_1): Remove dead lambda code.
      	(extract_fnparm_pack): Don't make_pack_expansion.
      	(extract_locals_r): Don't strip a pack expansion.
      	(tsubst_pack_expansion): Handle proxy packs.  Use
      	PACK_EXPANSION_EXTRA_ARGS less.
      	(tsubst_decl) [FIELD_DECL]: Don't register_specialization.
      	(tsubst_copy) [FIELD_DECL]: Don't retrieve*_specialization.
      	[VAR_DECL]: Handle ARGUMENT_PACK_SELECT.
      	(tsubst_expr) [DECL_EXPR]: Handle proxy packs.
      	(tsubst_copy_and_build) [VAR_DECL]: Handle proxy packs normally.
      
      From-SVN: r257575
      Jason Merrill committed
    • Daily bump. · f1ea257f
      From-SVN: r257574
      GCC Administrator committed
  2. 11 Feb, 2018 8 commits
  3. 10 Feb, 2018 4 commits
  4. 09 Feb, 2018 5 commits