1. 14 Jan, 2019 3 commits
    • [D] Merge upstream dmd cd2034cd7 · 2b5e01fa
      One fix in the asm statement parser to stop parsing if the end of the
      statement has been reached, and moves all inline asm tests to gdc.dg.
      These being adjusted where necessary to test the GCC style instead.
      
      gcc/testsuite/ChangeLog:
      
      2019-01-14  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* gdc.dg/asm1.d: New test.
      	* gdc.dg/asm2.d: New test.
      	* gdc.dg/asm3.d: New test.
      	* gdc.dg/asm4.d: New test.
      	* lib/gdc.exp (gdc_init): Set gcc_error_prefix and gcc_warning_prefix.
      
      From-SVN: r267913
      Iain Buclaw committed
    • re PR libfortran/88776 (Namelist read from stdin: loss of data) · 9c5f8900
      2019-01-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/88776
      	* io/open.c (newunit): Free format buffer if the unit specified is for
      	stdin, stdout, or stderr.
      
      	* gfortran.dg/namelist_96.f90: New test.
      
      From-SVN: r267910
      Jerry DeLisle committed
    • Daily bump. · bff1a731
      From-SVN: r267909
      GCC Administrator committed
  2. 13 Jan, 2019 6 commits
  3. 12 Jan, 2019 26 commits
    • re PR libfortran/88776 (Namelist read from stdin: loss of data) · 9443a185
      2019-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/88776
      	* io/list_read.c (namelist_read): Use nml_err_ret path on read error
      	not based on stdin_unit.
      
      From-SVN: r267898
      Jerry DeLisle committed
    • [nvptx] Enable setting vector length using -fopenacc-dim -- testcases · efb56ae8
      Add some test-cases that set vector length using -fopenacc-dim.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
      	* testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
      
      From-SVN: r267897
      Tom de Vries committed
    • [nvptx] Enable setting vector length using -fopenacc-dim · 2c2ff168
      Enable setting vector length using -fopenacc-dim, f.i. -fopenacc-dim=::128.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Alow setting
      	vector length using -fopenacc-dim.
      
      	* plugin/plugin-nvptx.c (nvptx_exec): Update error message.
      
      From-SVN: r267896
      Tom de Vries committed
    • [nvptx] Add vector_length 64 test-cases · a1057758
      Add some test-cases using vector_length 64.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
      
      From-SVN: r267895
      Tom de Vries committed
    • [nvptx] Force vl32 if calling vector-partitionable routines -- test-cases · 56314b77
      Add test-cases for "[nvptx] Force vl32 if calling vector-partitionable
      routines".
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	PR target/85486
      	* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
      
      From-SVN: r267894
      Tom de Vries committed
    • [nvptx] Don't emit barriers for empty loops -- test-cases · b39e4366
      Add test-cases for PR85381.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	PR target/85381
      	* testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
      
      From-SVN: r267893
      Tom de Vries committed
    • [nvptx] Enable large vectors -- reduction testcases · 2cb7a501
      Add various reduction test-cases with vector length 128.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
      	* testsuite/libgomp.oacc-fortran/gemm.f90: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
      
      From-SVN: r267892
      Tom de Vries committed
    • [nvptx] Enable large vectors -- test-cases · 8e77f71e
      Add various test-cases with vector length 128.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
      
      From-SVN: r267891
      Tom de Vries committed
    • [nvptx] Update insufficient launch message for variable vector_length · 52d22ece
      Update message in nvptx libgomp plugin about insufficient resources to launch
      kernel, to accommodate for the fact the vector_length can now be variable.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
      	resources diagnostic.
      
      From-SVN: r267890
      Tom de Vries committed
    • [nvptx] Enable large vectors · 2b9d9e39
      Allow vector_length clauses to accept values larger than warp size.  Note that
      this does not enable setting vector_length to values larger than warp size using
      -fopenacc-dim.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Take larger vector
      	lengths into account.
      
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
      	vector length to be 128.
      	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
      	length 2097152 to be reduced to 1024 instead of 32.
      
      From-SVN: r267889
      Tom de Vries committed
    • decl.c (cp_finish_decl): Improve error location. · 6f7814d0
      /cp
      2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (cp_finish_decl): Improve error location.
      	* decl2.c (grokfield): Likewise, improve two locations.
      
      /testsuite
      2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp0x/pr62101.C: Test locations too.
      	* g++.dg/inherit/pure1.C: Likewise.
      
      From-SVN: r267888
      Paolo Carlini committed
    • decl.c (cp_finish_decl): Improve error location. · 062ab459
      /cp
      2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (cp_finish_decl): Improve error location.
      	* decl2.c (grokfield): Likewise, improve two locations.
      
      /testsuite
      2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp0x/pr62101.C: Test locations too.
      	* g++.dg/inherit/pure1.C: Likewise.
      
      From-SVN: r267887
      Paolo Carlini committed
    • gnu.h (TARGET_THREAD_SSP_OFFSET): Define. · 8d5d3edd
      	* config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
      	(TARGET_CAN_SPLIT_STACK): Define.
      	(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
      
      From-SVN: r267886
      Svante Signell committed
    • Document merge process for dmd, druntime and phobos. · 865f11b6
      gcc/d/ChangeLog:
      
      	* README.gcc: New file.
      
      libphobos/ChangeLog:
      
      	* README.gcc: New file.
      
      From-SVN: r267885
      Iain Buclaw committed
    • ISO_Fortran_binding_2.f90: Remove because of reports of ICEs. · fd253dbf
      2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	* gfortran.dg/ISO_Fortran_binding_2.f90 : Remove because of
      	reports of ICEs.
      	* gfortran.dg/ISO_Fortran_binding_2.c : Ditto.
      
      From-SVN: r267884
      Paul Thomas committed
    • * params.def (inline-unit-growth): Set to 40. · 43d168a4
      From-SVN: r267883
      Jan Hubicka committed
    • tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo. · 5f07d78a
      	* tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo.
      
      	* c-typeck.c (convert_for_assignment): Fix a comment typo.
      
      From-SVN: r267882
      Jakub Jelinek committed
    • gfortran.texi: Add description in sections on TS 29113 and further interoperability with C. · bbf18dc5
      2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	* gfortran.texi : Add description in sections on TS 29113 and
      	further interoperability with C.
      	* trans-array.c (gfc_conv_descriptor_attribute): New function.
      	(gfc_get_dataptr_offset): Remove static function attribute.
      	* trans-array.h : Add prototypes for above functions.
      	* trans-decl.c : Add declarations for the library functions
      	cfi_desc_to_gfc_desc and gfc_desc_to_cfi_desc.
      	* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): New function.
      	(gfc_conv_procedure_call): Call it for scalar and array actual
      	arguments, when the formal arguments are bind_c with assumed
      	shape or assumed rank.
      	* trans.h : External declarations for gfor_fndecl_cfi_to_gfc
      	and gfor_fndecl_gfc_to_cfi.
      
      2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	* gfortran.dg/ISO_Fortran_binding_1.f90 : New test.
      	* gfortran.dg/ISO_Fortran_binding_1.c : Auxilliary file for test.
      	* gfortran.dg/ISO_Fortran_binding_2.f90 : New test.
      	* gfortran.dg/ISO_Fortran_binding_2.c : Auxilliary file for test.
      	* gfortran.dg/bind_c_array_params_2.f90 : Change search string
      	for dump tree scan.
      
      2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	* ISO_Fortran_binding.h : New file.
      	* Makefile.am : Include ISO_Fortran_binding.c in the list of
      	files to compile.
      	* Makefile.in : Regenerated.
      	* gfortran.map : Add _gfortran_cfi_desc_to_gfc_desc,
      	_gfortran_gfc_desc_to_cfi_desc and the CFI API functions.
      	* runtime/ISO_Fortran_binding.c : New file containing the new
      	functions added to the map.
      
      From-SVN: r267881
      Paul Thomas committed
    • [nvptx] Apply vector-partitionable routines workaround to default vl · af79605e
      Make "[nvptx] Force vl32 if calling vector-partitionable routines" work as well
      if vector length is set by modifying PTX_DEFAULT_VECTOR_LENGTH.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): In offloading
      	region calling vector-partitionable routine, set default_vector_length
      	to WARP_SIZE.
      
      From-SVN: r267879
      Tom de Vries committed
    • [nvptx] Allow default vl to be overridden in nvptx_goacc_validate_dims_1 · d6f528e7
      In nvptx_goacc_validate_dims_1, allow oacc_default_dims[DIM_VECTOR] to be
      overridden, by assigning it to a new variable default_vector_length at the
      start, and using it at the end.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add an use new
      	variable default_vector_length.
      
      From-SVN: r267878
      Tom de Vries committed
    • [nvptx] Verify dimension limits after applying defaults · 980af7cd
      There's a problem in oacc_validate_dims that when f.i. the worker dimension
      is set using -fopenacc-dim=:32, and the vector_length is set using a
      "vector_length (128)" clause, the compiler combines, accepts and emits the
      values, while the combination of the two is invalid.
      
      The reason for this is that while oacc_validate_dims validates the dimensions
      using targetm.goacc.validate_dims before applying default or minimum values,
      it does not do so afterwards.
      
      Work around this in the nvptx port by applying the defaults from
      oacc_default_dims at the end of nvptx_goacc_validate_dims_1, as
      oacc_validate_dims would do it, and then apply the dimensions limits.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	PR middle-end/88703
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Apply defaults
      	from oacc_default_dims, as oacc_validate_dims would do it, and apply
      	dimensions limits.
      
      From-SVN: r267877
      Tom de Vries committed
    • [openacc] Add used parameter to TARGET_GOACC_VALIDATE_DIMS · 46dedae6
      Add a used parameter to TARGET_GOACC_VALIDATE_DIMS, allowing a target to make
      decisions in the hook implementation based on whether a dimension is used or
      not.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1)
      	(nvptx_goacc_validate_dims): Add used parameter.
      	* doc/tm.texi: Regenerate.
      	* omp-offload.c (oacc_parse_default_dims, oacc_validate_dims): Add
      	argument to call to targetm.goacc.validate_dims.
      	(default_goacc_validate_dims): Add used
      	parameter.
      	* target.def (validate_dims): Add used parameter in DEFHOOK.
      	* targhooks.h (default_goacc_validate_dims): Add used parameter.
      
      From-SVN: r267876
      Tom de Vries committed
    • re PR libfortran/88807 (misleading indentation warnings building libgfortran) · fc560ecd
      	PR libfortran/88807
      	* m4/minloc0.m4: Reindent to avoid -Wmisleading-indentation warnings.
      	* generated/minloc0_4_i1.c: Regenerated.
      	* generated/minloc0_4_i2.c: Regenerated.
      	* generated/minloc0_4_i4.c: Regenerated.
      	* generated/minloc0_4_i8.c: Regenerated.
      	* generated/minloc0_4_i16.c: Regenerated.
      	* generated/minloc0_4_r4.c: Regenerated.
      	* generated/minloc0_4_r8.c: Regenerated.
      	* generated/minloc0_4_r10.c: Regenerated.
      	* generated/minloc0_4_r16.c: Regenerated.
      	* generated/minloc0_8_i1.c: Regenerated.
      	* generated/minloc0_8_i2.c: Regenerated.
      	* generated/minloc0_8_i4.c: Regenerated.
      	* generated/minloc0_8_i8.c: Regenerated.
      	* generated/minloc0_8_i16.c: Regenerated.
      	* generated/minloc0_8_r4.c: Regenerated.
      	* generated/minloc0_8_r8.c: Regenerated.
      	* generated/minloc0_8_r10.c: Regenerated.
      	* generated/minloc0_8_r16.c: Regenerated.
      	* generated/minloc0_16_i1.c: Regenerated.
      	* generated/minloc0_16_i2.c: Regenerated.
      	* generated/minloc0_16_i4.c: Regenerated.
      	* generated/minloc0_16_i8.c: Regenerated.
      	* generated/minloc0_16_i16.c: Regenerated.
      	* generated/minloc0_16_r4.c: Regenerated.
      	* generated/minloc0_16_r8.c: Regenerated.
      	* generated/minloc0_16_r10.c: Regenerated.
      	* generated/minloc0_16_r16.c: Regenerated.
      
      From-SVN: r267875
      Jakub Jelinek committed
    • Remove svn:executable property from a couple of text files · 831a2e2f
      which shouldn't be executable.
      
      From-SVN: r267873
      Jakub Jelinek committed
    • Daily bump. · 939fd818
      From-SVN: r267872
      GCC Administrator committed
    • PR libstdc++/88811 fix typo introduced in r266569 · 7f00fdb2
      	PR libstdc++/88811
      	PR libstdc++/83306
      	* src/filesystem/path.cc: Fix typo. If first path is empty, show []
      	before second path.
      	* testsuite/experimental/filesystem/filesystem_error/cons.cc: New
      	test.
      
      From-SVN: r267868
      Jonathan Wakely committed
  4. 11 Jan, 2019 5 commits
    • Document C++20 library status · 66dc59e2
      	* doc/xml/manual/intro.xml: Include new section.
      	* doc/xml/manual/status_cxx2017.xml: Document more
      	implementation-defined properties of the library.
      	* doc/xml/manual/status_cxx2020.xml: Document C++2a status.
      	* doc/html/*: Regenerate.
      
      From-SVN: r267867
      Jonathan Wakely committed
    • P0357R3 reference_wrapper for incomplete types · aaeac156
      This patch implements the C++2a proposal to allow incomplete types in
      std::reference_wrapper, which was previously undefined.
      
      The change cannot be implemented for earlier standards, because prior to
      C++2a std::reference_wrapper has a weak result type, so must inspect the
      template argument to see if it defines a nested result_type member. That
      is deprecated (but still required) in C++17, and removed from C++2a.
      
      The removal of the base class from reference_wrapper is a potential ABI
      change, as it could alter the layout of a type which derives from
      reference_wrapper<T> and from an empty type with _Weak_result_type<T> as
      a base class.  Previously the repeated _Weak_result_type<T> base class
      would have prevented the empty base-class optimization, but if
      reference_wrapper<T> no longer derives from it, the empty class could be
      placed at the same address as the reference_wrapper<T> base.  In
      practice, the only types which derive from _Weak_result_type or from
      _Reference_wrapper_base_memfun or any of its base classes are non-empty
      types defined in libstdc++: std::reference_wrapper, std::function, and
      std::_Bind. As they are non-empty types, they are not eligible for EBO
      anyway.
      
      	* include/bits/refwrap.h [__cplusplus > 201703L]
      	(_Refwrap_base_arg1, _Refwrap_base_arg2, _Reference_wrapper_base)
      	(_Reference_wrapper_base_memfun): Do not define for C++2a.
      	(reference_wrapper): Do not derive from _Reference_wrapper_base_memfun
      	for C++2a.
      	(reference_wrapper::operator()): Add static assertion.
      	* testsuite/20_util/reference_wrapper/incomplete.cc: New test.
      
      From-SVN: r267866
      Jonathan Wakely committed
    • P0972R0 <chrono> zero(), min(), and max() should be noexcept · 5e9aed14
      This paper has been included in the C++20 draft, but the changes to add
      noexcept can be made unconditionally, to apply for C++11 too.
      
      	* include/std/chrono (duration_values::zero(), duration_values::min())
      	(duration_values::max()): Add noexcept.
      	(duration::zero(), duration::min(), duration::max()): Likewise.
      	(time_point::zero(), time_point::min(), time_point::max()): Likewise.
      	* testsuite/20_util/duration/requirements/noexcept.cc: New test.
      	* testsuite/20_util/time_point/requirements/noexcept.cc: New test.
      
      From-SVN: r267865
      Jonathan Wakely committed
    • re PR fortran/35031 (ELEMENTAL procedure with BIND(C)) · 89508a3f
      2019-01-11  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/35031
      	* decl.c (gfc_match_entry): Check for F2018:C1546.  Fix nearby
      	mis-indentation.
       
      2019-01-11  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/35031
      	* gfortran.dg/pr35031.f90: new test.
      
      From-SVN: r267864
      Steven G. Kargl committed
    • Fix location of __cpp_lib_erase_if macro · e334d7a7
      This macro should only be defined for C++2a, not C++17.
      
      	* include/std/version (__cpp_lib_erase_if): Move to C++20 group.
      
      From-SVN: r267863
      Jonathan Wakely committed