1. 25 Mar, 2017 1 commit
    • re PR fortran/78881 ([F03] reading from string with DTIO procedure does not work properly) · 1f10d710
      2017-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/78881
      	* io/io.h (st_parameter_dt): Rename unused component last_char to
      	child_saved_iostat. Move comment to gfc_unit.
      	* io/list_read.c (list_formatted_read_scalar): After call to
      	child READ procedure, save the returned iostat value for later
      	check. (finish_list_read): Only finish READ if child_saved_iostat
      	was OK.
      	* io/transfer.c (read_sf_internal): If there is a saved character
      	in last character, seek back one. Add a new check for EOR
      	condition. (read_sf): If there is a saved character
      	in last character, seek back one. (formatted_transfer_scalar_read):
      	Initialize last character before invoking child procedure.
      	(data_transfer_init): If child dtio, set advance
      	status to nonadvancing. Move update of size and check for EOR
      	condition to before child dtio return.
      
      	* gfortran.dg/dtio_26.f90: New test.
      
      From-SVN: r246478
      Jerry DeLisle committed
  2. 17 Mar, 2017 1 commit
    • re PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3) · dba937c3
      2017-03-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/79956
      	* m4/reshape.m4 (reshape_'rtype_ccode`):  Correct use
      	of GFC_ASSERT.
      	* 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: r246248
      Thomas Koenig committed
  3. 15 Mar, 2017 2 commits
    • Don't use Win32 functions on CYGWIN. · add5b95a
      This was a workaround for a cygwin bug which was fixed 4 years ago,
      and cygwin hasn't supported affected versions for a long time.
      
      2017-03-15  NightStrike  <nightstrike@gmail.com>
      	    Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* intrinsics/random.c (getosrandom): Remove check for __CYGWIN__
      	preprocessor flag.
      	* intrinsics/system_clock.c: Likewise.
      	(system_clock_4): Likewise.
      	(system_clock_8): Likewise.
      	* intrinsics/time_1.h: Don't include windows.h if __CYGWIN__ is
      	defined.
      
      Co-Authored-By: Janne Blomqvist <jb@gcc.gnu.org>
      
      From-SVN: r246162
      NightStrike committed
    • re PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3) · 20305b50
      2017-03-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/79956
      	* libgfortran.h (GFC_ASSERT):  New macro.
      	* m4/reshape.m4 (reshape_'rtype_ccode`):  Use GFC_ASSERT
      	to specify that sdim > 0 and rdim > 0.
      	* intrinsic/reshape_generic.c (reshape_internal):  Likweise.
      	* 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: r246153
      Thomas Koenig committed
  4. 11 Mar, 2017 1 commit
  5. 10 Mar, 2017 1 commit
    • re PR libfortran/79956 (many new -Wmaybe-uninitialized warnings with bootstrap-O3) · 80dd631f
      2017-03-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/79956
      	* m4/iforeach.m4:  Change exit condition from loop for
      	increasing dimension to >=.  Fix type in comment.
      	* m4/ifunction.m4:  Likewise.
      	* m4/ifunction_logical.m4: Likewise.
      	* generated/all_l1.c: Regenerated.
      	* generated/all_l16.c: Regenerated.
      	* generated/all_l2.c: Regenerated.
      	* generated/all_l4.c: Regenerated.
      	* generated/all_l8.c: Regenerated.
      	* generated/any_l1.c: Regenerated.
      	* generated/any_l16.c: Regenerated.
      	* generated/any_l2.c: Regenerated.
      	* generated/any_l4.c: Regenerated.
      	* generated/any_l8.c: Regenerated.
      	* generated/count_16_l.c: Regenerated.
      	* generated/count_1_l.c: Regenerated.
      	* generated/count_2_l.c: Regenerated.
      	* generated/count_4_l.c: Regenerated.
      	* generated/count_8_l.c: Regenerated.
      	* generated/iall_i1.c: Regenerated.
      	* generated/iall_i16.c: Regenerated.
      	* generated/iall_i2.c: Regenerated.
      	* generated/iall_i4.c: Regenerated.
      	* generated/iall_i8.c: Regenerated.
      	* generated/iany_i1.c: Regenerated.
      	* generated/iany_i16.c: Regenerated.
      	* generated/iany_i2.c: Regenerated.
      	* generated/iany_i4.c: Regenerated.
      	* generated/iany_i8.c: Regenerated.
      	* generated/iparity_i1.c: Regenerated.
      	* generated/iparity_i16.c: Regenerated.
      	* generated/iparity_i2.c: Regenerated.
      	* generated/iparity_i4.c: Regenerated.
      	* generated/iparity_i8.c: Regenerated.
      	* generated/maxloc0_16_i1.c: Regenerated.
      	* generated/maxloc0_16_i16.c: Regenerated.
      	* generated/maxloc0_16_i2.c: Regenerated.
      	* generated/maxloc0_16_i4.c: Regenerated.
      	* generated/maxloc0_16_i8.c: Regenerated.
      	* generated/maxloc0_16_r10.c: Regenerated.
      	* generated/maxloc0_16_r16.c: Regenerated.
      	* generated/maxloc0_16_r4.c: Regenerated.
      	* generated/maxloc0_16_r8.c: Regenerated.
      	* generated/maxloc0_4_i1.c: Regenerated.
      	* generated/maxloc0_4_i16.c: Regenerated.
      	* generated/maxloc0_4_i2.c: Regenerated.
      	* generated/maxloc0_4_i4.c: Regenerated.
      	* generated/maxloc0_4_i8.c: Regenerated.
      	* generated/maxloc0_4_r10.c: Regenerated.
      	* generated/maxloc0_4_r16.c: Regenerated.
      	* generated/maxloc0_4_r4.c: Regenerated.
      	* generated/maxloc0_4_r8.c: Regenerated.
      	* generated/maxloc0_8_i1.c: Regenerated.
      	* generated/maxloc0_8_i16.c: Regenerated.
      	* generated/maxloc0_8_i2.c: Regenerated.
      	* generated/maxloc0_8_i4.c: Regenerated.
      	* generated/maxloc0_8_i8.c: Regenerated.
      	* generated/maxloc0_8_r10.c: Regenerated.
      	* generated/maxloc0_8_r16.c: Regenerated.
      	* generated/maxloc0_8_r4.c: Regenerated.
      	* generated/maxloc0_8_r8.c: Regenerated.
      	* generated/maxloc1_16_i1.c: Regenerated.
      	* generated/maxloc1_16_i16.c: Regenerated.
      	* generated/maxloc1_16_i2.c: Regenerated.
      	* generated/maxloc1_16_i4.c: Regenerated.
      	* generated/maxloc1_16_i8.c: Regenerated.
      	* generated/maxloc1_16_r10.c: Regenerated.
      	* generated/maxloc1_16_r16.c: Regenerated.
      	* generated/maxloc1_16_r4.c: Regenerated.
      	* generated/maxloc1_16_r8.c: Regenerated.
      	* generated/maxloc1_4_i1.c: Regenerated.
      	* generated/maxloc1_4_i16.c: Regenerated.
      	* generated/maxloc1_4_i2.c: Regenerated.
      	* generated/maxloc1_4_i4.c: Regenerated.
      	* generated/maxloc1_4_i8.c: Regenerated.
      	* generated/maxloc1_4_r10.c: Regenerated.
      	* generated/maxloc1_4_r16.c: Regenerated.
      	* generated/maxloc1_4_r4.c: Regenerated.
      	* generated/maxloc1_4_r8.c: Regenerated.
      	* generated/maxloc1_8_i1.c: Regenerated.
      	* generated/maxloc1_8_i16.c: Regenerated.
      	* generated/maxloc1_8_i2.c: Regenerated.
      	* generated/maxloc1_8_i4.c: Regenerated.
      	* generated/maxloc1_8_i8.c: Regenerated.
      	* generated/maxloc1_8_r10.c: Regenerated.
      	* generated/maxloc1_8_r16.c: Regenerated.
      	* generated/maxloc1_8_r4.c: Regenerated.
      	* generated/maxloc1_8_r8.c: Regenerated.
      	* generated/maxval_i1.c: Regenerated.
      	* generated/maxval_i16.c: Regenerated.
      	* generated/maxval_i2.c: Regenerated.
      	* generated/maxval_i4.c: Regenerated.
      	* generated/maxval_i8.c: Regenerated.
      	* generated/maxval_r10.c: Regenerated.
      	* generated/maxval_r16.c: Regenerated.
      	* generated/maxval_r4.c: Regenerated.
      	* generated/maxval_r8.c: Regenerated.
      	* generated/minloc0_16_i1.c: Regenerated.
      	* generated/minloc0_16_i16.c: Regenerated.
      	* generated/minloc0_16_i2.c: Regenerated.
      	* generated/minloc0_16_i4.c: Regenerated.
      	* generated/minloc0_16_i8.c: Regenerated.
      	* generated/minloc0_16_r10.c: Regenerated.
      	* generated/minloc0_16_r16.c: Regenerated.
      	* generated/minloc0_16_r4.c: Regenerated.
      	* generated/minloc0_16_r8.c: Regenerated.
      	* generated/minloc0_4_i1.c: Regenerated.
      	* generated/minloc0_4_i16.c: Regenerated.
      	* generated/minloc0_4_i2.c: Regenerated.
      	* generated/minloc0_4_i4.c: Regenerated.
      	* generated/minloc0_4_i8.c: Regenerated.
      	* generated/minloc0_4_r10.c: Regenerated.
      	* generated/minloc0_4_r16.c: Regenerated.
      	* generated/minloc0_4_r4.c: Regenerated.
      	* generated/minloc0_4_r8.c: Regenerated.
      	* generated/minloc0_8_i1.c: Regenerated.
      	* generated/minloc0_8_i16.c: Regenerated.
      	* generated/minloc0_8_i2.c: Regenerated.
      	* generated/minloc0_8_i4.c: Regenerated.
      	* generated/minloc0_8_i8.c: Regenerated.
      	* generated/minloc0_8_r10.c: Regenerated.
      	* generated/minloc0_8_r16.c: Regenerated.
      	* generated/minloc0_8_r4.c: Regenerated.
      	* generated/minloc0_8_r8.c: Regenerated.
      	* generated/minloc1_16_i1.c: Regenerated.
      	* generated/minloc1_16_i16.c: Regenerated.
      	* generated/minloc1_16_i2.c: Regenerated.
      	* generated/minloc1_16_i4.c: Regenerated.
      	* generated/minloc1_16_i8.c: Regenerated.
      	* generated/minloc1_16_r10.c: Regenerated.
      	* generated/minloc1_16_r16.c: Regenerated.
      	* generated/minloc1_16_r4.c: Regenerated.
      	* generated/minloc1_16_r8.c: Regenerated.
      	* generated/minloc1_4_i1.c: Regenerated.
      	* generated/minloc1_4_i16.c: Regenerated.
      	* generated/minloc1_4_i2.c: Regenerated.
      	* generated/minloc1_4_i4.c: Regenerated.
      	* generated/minloc1_4_i8.c: Regenerated.
      	* generated/minloc1_4_r10.c: Regenerated.
      	* generated/minloc1_4_r16.c: Regenerated.
      	* generated/minloc1_4_r4.c: Regenerated.
      	* generated/minloc1_4_r8.c: Regenerated.
      	* generated/minloc1_8_i1.c: Regenerated.
      	* generated/minloc1_8_i16.c: Regenerated.
      	* generated/minloc1_8_i2.c: Regenerated.
      	* generated/minloc1_8_i4.c: Regenerated.
      	* generated/minloc1_8_i8.c: Regenerated.
      	* generated/minloc1_8_r10.c: Regenerated.
      	* generated/minloc1_8_r16.c: Regenerated.
      	* generated/minloc1_8_r4.c: Regenerated.
      	* generated/minloc1_8_r8.c: Regenerated.
      	* generated/minval_i1.c: Regenerated.
      	* generated/minval_i16.c: Regenerated.
      	* generated/minval_i2.c: Regenerated.
      	* generated/minval_i4.c: Regenerated.
      	* generated/minval_i8.c: Regenerated.
      	* generated/minval_r10.c: Regenerated.
      	* generated/minval_r16.c: Regenerated.
      	* generated/minval_r4.c: Regenerated.
      	* generated/minval_r8.c: Regenerated.
      	* generated/norm2_r10.c: Regenerated.
      	* generated/norm2_r16.c: Regenerated.
      	* generated/norm2_r4.c: Regenerated.
      	* generated/norm2_r8.c: Regenerated.
      	* generated/parity_l1.c: Regenerated.
      	* generated/parity_l16.c: Regenerated.
      	* generated/parity_l2.c: Regenerated.
      	* generated/parity_l4.c: Regenerated.
      	* generated/parity_l8.c: Regenerated.
      	* generated/product_c10.c: Regenerated.
      	* generated/product_c16.c: Regenerated.
      	* generated/product_c4.c: Regenerated.
      	* generated/product_c8.c: Regenerated.
      	* generated/product_i1.c: Regenerated.
      	* generated/product_i16.c: Regenerated.
      	* generated/product_i2.c: Regenerated.
      	* generated/product_i4.c: Regenerated.
      	* generated/product_i8.c: Regenerated.
      	* generated/product_r10.c: Regenerated.
      	* generated/product_r16.c: Regenerated.
      	* generated/product_r4.c: Regenerated.
      	* generated/product_r8.c: Regenerated.
      	* generated/sum_c10.c: Regenerated.
      	* generated/sum_c16.c: Regenerated.
      	* generated/sum_c4.c: Regenerated.
      	* generated/sum_c8.c: Regenerated.
      	* generated/sum_i1.c: Regenerated.
      	* generated/sum_i16.c: Regenerated.
      	* generated/sum_i2.c: Regenerated.
      	* generated/sum_i4.c: Regenerated.
      	* generated/sum_i8.c: Regenerated.
      	* generated/sum_r10.c: Regenerated.
      	* generated/sum_r16.c: Regenerated.
      	* generated/sum_r4.c: Regenerated.
      	* generated/sum_r8.c: Regenerated.
      
      From-SVN: r246053
      Thomas Koenig committed
  6. 05 Mar, 2017 1 commit
    • check.c (positive_check): Add new function checking constant for being greater then zero. · ef78bc3c
      gcc/fortran/ChangeLog:
      
      2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>
                  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
      
      	* check.c (positive_check): Add new function checking constant for
      	being greater then zero.
      	(gfc_check_image_status): Add checking of image_status arguments.
      	(gfc_check_failed_or_stopped_images): Same but for failed_- and
      	stopped_images function.
      	* dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
      	* gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
      	(enum gfc_isym_id): Added new intrinsic symbols.
      	(enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
      	* gfortran.texi: Added description for the new API functions. Updated
      	coverage of gfortran of TS18508.
      	* intrinsic.c (add_functions): Added symbols to resolve new intrinsic
      	functions. 
      	* intrinsic.h: Added prototypes.
      	* iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
      	intrinsic.
      	(gfc_resolve_image_status): Same for image_status.
      	(gfc_resolve_stopped_images): Same for stopped_images.
      	* libgfortran.h: Added prototypes.
      	* match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
      	(gfc_match_fail_image): Match a FAIL IMAGE statement.
      	* match.h: Added prototype.
      	* parse.c (decode_statement): Added matching for FAIL IMAGE.
      	(next_statement): Same.
      	(gfc_ascii_statement): Same.
      	* resolve.c: Same.
      	* simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
      	single a constant result can be returne.d
      	(gfc_simplify_image_status): For COARRAY=single the result is constant.
      	* st.c (gfc_free_statement): Added FAIL_IMAGE handling.
      	* trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
      	new intrinsics.
      	* trans-expr.c (gfc_conv_procedure_call): This is first time all
      	arguments of a function are optional, which is now handled here
      	correctly.
      	* trans-intrinsic.c (conv_intrinsic_image_status): Translate
      	image_status.
      	(gfc_conv_intrinsic_function): Add support for image_status.
      	(gfc_is_intrinsic_libcall): Add support for the remaining new
      	intrinsics.
      	* trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
      	* trans-stmt.h: Add the prototype for the above.
      	* trans.c (trans_code): Dispatch for fail_image.
      	* trans.h: Add the trees for the new intrinsics.
      
      libgfortran/ChangeLog:
      
      2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>
                  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
      
      	* caf/libcaf.h: Added prototypes and stat codes for failed and stopped
      	images.
      	* caf/single.c (void _gfortran_caf_fail_image): Add the routine.
      	(int _gfortran_caf_image_status): Same.
      	(_gfortran_caf_failed_images): Same.
      	(_gfortran_caf_stopped_images): Same.
      
      
      gcc/testsuite/ChangeLog:
      
      2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>
                  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
      
      	* gfortran.dg/coarray/fail_image_1.f08: New test.
      	* gfortran.dg/coarray/fail_image_2.f08: New test.
      	* gfortran.dg/coarray/failed_images_1.f08: New test.
      	* gfortran.dg/coarray/failed_images_2.f08: New test.
      	* gfortran.dg/coarray/image_status_1.f08: New test.
      	* gfortran.dg/coarray/image_status_2.f08: New test.
      	* gfortran.dg/coarray/stopped_images_1.f08: New test.
      	* gfortran.dg/coarray/stopped_images_2.f08: New test.
      	* gfortran.dg/coarray_fail_st.f90: New test.
      	* gfortran.dg/coarray_failed_images_1.f08: New test.
      	* gfortran.dg/coarray_image_status_1.f08: New test.
      	* gfortran.dg/coarray_stopped_images_1.f08: New test.
      
      From-SVN: r245900
      Andre Vehreschild committed
  7. 02 Mar, 2017 2 commits
    • matmul.m4 (matmul_'rtype_code`): Avoid race condition on storing function pointer. · f03e9217
      2017-03-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
      	    Jakub Jelinek  <jakub@redhat.com>
      
      	* m4/matmul.m4 (matmul_'rtype_code`):  Avoid
      	race condition on storing function pointer.
              * generated/matmul_c10.c: Regenerated.
              * generated/matmul_c16.c: Regenerated.
              * generated/matmul_c4.c: Regenerated.
              * generated/matmul_c8.c: Regenerated.
              * generated/matmul_i1.c: Regenerated.
              * generated/matmul_i16.c: Regenerated.
              * generated/matmul_i2.c: Regenerated.
              * generated/matmul_i4.c: Regenerated.
              * generated/matmul_i8.c: Regenerated.
              * generated/matmul_r10.c: Regenerated.
              * generated/matmul_r16.c: Regenerated.
              * generated/matmul_r4.c: Regenerated.
              * generated/matmul_r8.c: Regenerated.
      
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r245839
      Thomas Koenig committed
    • re PR libfortran/78379 (Processor-specific versions for matmul) · 6d03bdcc
      2017-03-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/78379
      	* m4/matmul.m4: (matmul_'rtype_code`_avx2): Also generate for
      	reals.  Add fma to target options.
      	(matmul_'rtype_code`):  Call AVX2 only if FMA is available.
              * generated/matmul_c10.c: Regenerated.
              * generated/matmul_c16.c: Regenerated.
              * generated/matmul_c4.c: Regenerated.
              * generated/matmul_c8.c: Regenerated.
              * generated/matmul_i1.c: Regenerated.
              * generated/matmul_i16.c: Regenerated.
              * generated/matmul_i2.c: Regenerated.
              * generated/matmul_i4.c: Regenerated.
              * generated/matmul_i8.c: Regenerated.
              * generated/matmul_r10.c: Regenerated.
              * generated/matmul_r16.c: Regenerated.
              * generated/matmul_r4.c: Regenerated.
              * generated/matmul_r8.c: Regenerated.
      
      From-SVN: r245836
      Thomas Koenig committed
  8. 27 Feb, 2017 1 commit
    • Don't try to use rand_s on CYGWIN · 9449b700
      CYGWIN seems to include _mingw.h and thus __MINGW64_VERSION_MAJOR is
      defined even though rand_s is not available. Thus add an extra check
      for __CYGWIN__.
      
      2017-02-27  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* intrinsics/random.c (getosrandom): Don't try to use rand_s on
      	CYGWIN.
      
      From-SVN: r245755
      Janne Blomqvist committed
  9. 20 Feb, 2017 1 commit
    • re PR fortran/79382 (DTIO ICE) · dc42a736
      2017-02-16  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/79382
      	* decl.c (access_attr_decl): Test for presence of generic DTIO
      	interface and emit error if not present.
      
      2017-02-16  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/79382
      	* io/transfer.c (check_dtio_proc): New function.
      	(formatted_transfer_scalar_read): Use it.
      	(formatted_transfer_scalar_write): ditto.
      
      2017-02-16  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/79382
      	* gfortran.dg/dtio_10.f90 : Change test of error message.
      	* gfortran.dg/dtio_23.f90 : New test.
      	* gfortran.dg/dtio_24.f90 : New test.
      
      From-SVN: r245596
      Paul Thomas committed
  10. 31 Jan, 2017 1 commit
  11. 19 Jan, 2017 2 commits
  12. 17 Jan, 2017 1 commit
    • re PR other/79046 (g++ -print-file-name=plugin uses full version number in path) · 3c36aa6b
      	PR other/79046
      	* configure: Regenerated.
      config/
      	* acx.m4 (GCC_BASE_VER): New m4 function.
      	(ACX_TOOL_DIRS): Require GCC_BASE_VER, for
      	--with-gcc-major-version-only use just major number from BASE-VER.
      gcc/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
      	version from BASE-VER file.
      	(CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
      	(gcc.o): Depend on $(BASEVER).
      	* common.opt (dumpfullversion): New option.
      	* gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
      	* doc/invoke.texi: Document -dumpfullversion.
      	* doc/install.texi: Document --with-gcc-major-version-only.
      	* configure: Regenerated.
      libatomic/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* testsuite/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libgomp/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* testsuite/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libgcc/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
      	version from BASE-VER file.
      	* configure: Regenerated.
      libssp/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      liboffloadmic/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* aclocal.m4: Include ../config/acx.m4.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libquadmath/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libmpx/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libada/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
      	version from BASE-VER file.
      	* configure: Regenerated.
      lto-plugin/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libitm/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* testsuite/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      fixincludes/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      libcilkrts/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* aclocal.m4: Include ../config/acx.m4.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libcc1/
      	* configure.ac: Add GCC_BASE_VER.  For --with-gcc-major-version-only
      	use just major number from BASE-VER.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libobjc/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      libstdc++-v3/
      	* configure.ac: Add GCC_BASE_VER.
      	* fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* po/Makefile.in: Regenerated.
      	* libsupc++/Makefile.in: Regenerated.
      	* testsuite/Makefile.in: Regenerated.
      	* src/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      	* include/Makefile.in: Regenerated.
      	* doc/Makefile.in: Regenerated.
      	* python/Makefile.in: Regenerated.
      	* src/c++11/Makefile.in: Regenerated.
      	* src/c++98/Makefile.in: Regenerated.
      	* src/filesystem/Makefile.in: Regenerated.
      libvtv/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* testsuite/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      libsanitizer/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* libbacktrace/Makefile.in: Regenerated.
      	* interception/Makefile.in: Regenerated.
      	* asan/Makefile.in: Regenerated.
      	* ubsan/Makefile.in: Regenerated.
      	* configure: Regenerated.
      	* sanitizer_common/Makefile.in: Regenerated.
      	* lsan/Makefile.in: Regenerated.
      	* Makefile.in: Regenerated.
      	* tsan/Makefile.in: Regenerated.
      libgfortran/
      	* configure.ac: Add GCC_BASE_VER.
      	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
      	get version from BASE-VER file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      
      From-SVN: r244521
      Jakub Jelinek committed
  13. 13 Jan, 2017 3 commits
    • Revert r244448 · c1e9bbcc
      From-SVN: r244454
      Janne Blomqvist committed
    • PR 78534 Change character length from int to size_t · a6ab4e07
      In order to handle large character lengths on (L)LP64 targets, switch
      the GFortran character length from an int to a size_t.
      
      This is an ABI change, as procedures with character arguments take
      hidden arguments with the character length.
      
      I also changed the _size member in vtables from int to size_t, as
      there were some cases where character lengths and sizes were
      apparently mixed up and caused regressions otherwise. Although I
      haven't tested, this might enable very large derived types as well.
      
      Also, as there are some places in the frontend were negative character
      lengths are used as special flag values, in the frontend the character
      length is handled as a signed variable of the same size as a size_t,
      although in the runtime library it really is size_t.
      
      I haven't changed the character length variables for the co-array
      intrinsics, as this is something that may need to be synchronized with
      OpenCoarrays.
      
      This is v4 of the patch. v3 was applied but had to reverted due to
      breaking bootstrap. The fix is in resolve.c:resolve_charlen, where
      it's necessary to check that an expression is constant before using
      mpz_sgn.
      
      Overview of v3 of the patch: All the issues pointed out by FX's review
      of v2 have been fixed. In particular, there are now new functions
      gfc_mpz_get_hwi and gfc_mpz_set_hwi, similar to the GMP functions
      mpz_get_si and mpz_set_si, except that they get/set a HOST_WIDE_INT
      instead of a long value. Similarly, gfc_get_int_expr now takes a
      HOST_WIDE_INT instead of a long, gfc_extract_long is replaced by
      gfc_extract_hwi. Also, the preliminary work to handle
      gfc_charlen_type_node being unsigned has been removed.
      
      Regtested on x86_64-pc-linux-gnu and i686-pc-linux-gnu.
      
      frontend:
      
      2017-01-13  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/78534
      	PR fortran/66310
      	* class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of
      	hardcoded kind.
      	(find_intrinsic_vtab): Likewise.
      	* expr.c (gfc_get_character_expr): Length parameter of type
      	gfc_charlen_t.
      	(gfc_get_int_expr): Value argument of type HOST_WIDE_INT.
      	(gfc_extract_hwi): New function.
      	(simplify_const_ref): Make string_len of type gfc_charlen_t.
      	(gfc_simplify_expr): Use HOST_WIDE_INT for substring refs.
      	* gfortran.h (gfc_mpz_get_hwi): New prototype.
      	(gfc_mpz_set_hwi): Likewise.
      	(gfc_charlen_t): New typedef.
      	(gfc_expr): Use gfc_charlen_t for character lengths.
      	(gfc_size_kind): New extern variable.
      	(gfc_extract_hwi): New prototype.
      	(gfc_get_character_expr): Use gfc_charlen_t for character length.
      	(gfc_get_int_expr): Use HOST_WIDE_INT type for value argument.
      	* iresolve.c (gfc_resolve_repeat): Pass string length directly without
      	temporary, use gfc_charlen_int_kind.
      	* match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen.
      	* misc.c (gfc_mpz_get_hwi): New function.
      	(gfc_mpz_set_hwi): New function.
      	* module.c (atom_int): Change type from int to HOST_WIDE_INT.
      	(parse_integer): Don't complain about large integers.
      	(write_atom): Use HOST_WIDE_INT for integers.
      	(mio_integer): Handle integer type mismatch.
      	(mio_hwi): New function.
      	(mio_intrinsic_op): Use HOST_WIDE_INT.
      	(mio_array_ref): Likewise.
      	(mio_expr): Likewise.
      	* resolve.c (resolve_select_type): Use HOST_WIDE_INT for charlen,
      	use snprintf.
      	(resolve_substring_charlen): Use gfc_charlen_int_kind.
      	(resolve_charlen): Use mpz_sgn to determine sign.
      	* simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t
      	instead of long.
      	* target-memory.c (size_character): Length argument of type
      	gfc_charlen_t.
      	(gfc_encode_character): Likewise.
      	(gfc_interpret_character): Use gfc_charlen_t.
      	* target-memory.h (gfc_encode_character): Modify prototype.
      	* trans-array.c (get_array_ctor_var_strlen): Use
      	gfc_conv_mpz_to_tree_type.
      	* trans-const.c (gfc_conv_mpz_to_tree_type): New function.
      	* trans-const.h (gfc_conv_mpz_to_tree_type): New prototype.
      	* trans-expr.c (gfc_class_len_or_zero_get): Build const of type
      	gfc_charlen_type_node.
      	(gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of
      	4, fold_convert to correct type.
      	(gfc_conv_class_to_class): Build const of type size_type_node for
      	size.
      	(gfc_copy_class_to_class): Likewise.
      	(gfc_conv_string_length): Use same type in expression.
      	(gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen.
      	(gfc_conv_string_tmp): Make sure len is of the right type.
      	(gfc_conv_concat_op): Use same type in expression.
      	(gfc_conv_procedure_call): Likewise.
      	(alloc_scalar_allocatable_for_subcomponent_assignment):
      	fold_convert to right type.
      	(gfc_trans_subcomponent_assign): Likewise.
      	(trans_class_vptr_len_assignment): Build const of correct type.
      	(gfc_trans_pointer_assignment): Likewise.
      	(alloc_scalar_allocatable_for_assignment): fold_convert to right
      	type in expr.
      	(trans_class_assignment): Build const of correct type.
      	* trans-intrinsic.c (gfc_conv_associated): Likewise.
      	(gfc_conv_intrinsic_repeat): Do calculation in sizetype.
      	* trans-io.c (gfc_build_io_library_fndecls): Use
      	gfc_charlen_type_node for character lengths.
      	* trans-stmt.c (gfc_trans_label_assign): Build const of
      	gfc_charlen_type_node.
      	(gfc_trans_character_select): Likewise.
      	(gfc_trans_allocate): Likewise, don't typecast strlen result.
      	(gfc_trans_deallocate): Don't typecast strlen result.
      	* trans-types.c (gfc_size_kind): New variable.
      	(gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind
      	from size_type_node.
      
      testsuite:
      
      2017-01-13  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/78534
      	PR fortran/66310
      	* gfortran.dg/repeat_4.f90: Use integers of kind C_SIZE_T.
      	* gfortran.dg/repeat_7.f90: New test for PR 66310.
      	* gfortran.dg/scan_2.f90: Handle potential cast in assignment.
      	* gfortran.dg/string_1.f90: Limit to ilp32 targets.
      	* gfortran.dg/string_1_lp64.f90: New test.
      	* gfortran.dg/string_3.f90: Limit to ilp32 targets.
      	* gfortran.dg/string_3_lp64.f90: New test.
      
      libgfortran:
      
      2017-01-13  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/78534
      	* intrinsics/args.c (getarg_i4): Use gfc_charlen_type.
      	(get_command_argument_i4): Likewise.
      	(get_command_i4): Likewise.
      	* intrinsics/chmod.c (chmod_internal): Likewise.
      	* intrinsics/env.c (get_environment_variable_i4): Likewise.
      	* intrinsics/extends_type_of.c (struct vtype): Use size_t for size
      	member.
      	* intrinsics/gerror.c (gerror): Use gfc_charlen_type.
      	* intrinsics/getlog.c (getlog): Likewise.
      	* intrinsics/hostnm.c (hostnm_0): Likewise.
      	* intrinsics/string_intrinsics_inc.c (string_len_trim): Rework to
      	work if gfc_charlen_type is unsigned.
      	(string_scan): Likewise.
      	* io/transfer.c (transfer_character): Modify prototype.
      	(transfer_character_write): Likewise.
      	(transfer_character_wide): Likewise.
      	(transfer_character_wide_write): Likewise.
      	(transfer_array): Typecast to avoid signed-unsigned comparison.
      	* io/unit.c (is_trim_ok): Use gfc_charlen_type.
      	* io/write.c (namelist_write): Likewise.
      	* libgfortran.h (gfc_charlen_type): Change typedef to size_t.
      
      From-SVN: r244448
      Janne Blomqvist committed
    • re PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray) · 4ccff88b
      gcc/testsuite/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70696
      	* gfortran.dg/coarray/event_3.f08: New test.
      
      gcc/fortran/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70696
      	* trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
      	is valid before accessing it.
      
      libgfortran/ChangeLog:
      
      2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70696
      	* caf/single.c (_gfortran_caf_register): Allocate enough memory for
      	the event counter.
      
      From-SVN: r244407
      Andre Vehreschild committed
  14. 07 Jan, 2017 1 commit
    • re PR fortran/78781 ([Coarray] ICE in gfc_deallocate_scalar_with_status, at fortran/trans.c:1588) · de91486c
      gcc/fortran/ChangeLog:
      
      2017-01-07  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/78781
      	PR fortran/78935
      	* expr.c (gfc_check_pointer_assign): Return the same error message for
      	rewritten coarray pointer assignments like for plain ones.
      	* gfortran.h: Change prototype.
      	* primary.c (caf_variable_attr): Set attributes used ones only only
      	ones.  Add setting of pointer_comp attribute.
      	(gfc_caf_attr): Add setting of pointer_comp attribute.
      	* trans-array.c (gfc_array_allocate): Add flag that the component to
      	allocate is not an ultimate coarray component.  Add allocation of
      	pointer arrays.
      	(structure_alloc_comps): Extend nullify to treat pointer components in
      	coarrays correctly.  Restructure nullify to remove redundant code.
      	(gfc_nullify_alloc_comp): Allow setting caf_mode flags.
      	* trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
      	* trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
      	derived type coarrays with pointer components.
      	* trans-expr.c (gfc_trans_structure_assign): Also treat pointer
      	components.
      	(trans_caf_token_assign): Handle assignment of token of scalar pointer
      	components.
      	(gfc_trans_pointer_assignment): Call above routine.
      	* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
      	components.
      	(gfc_conv_intrinsic_caf_get): Likewise.
      	(conv_caf_send): Likewise.
      	* trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
      	a coarray pre-register the tokens.
      	(gfc_trans_deallocate): Simply determining the coarray type (scalar or
      	array) and deregistering it correctly.
      	* trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
      	actual codim to allow lookup of array types in the cache.
      	(gfc_build_array_type): Likewise.
      	(gfc_get_array_descriptor_base): Likewise.
      	(gfc_get_array_type_bounds): Likewise.
      	(gfc_get_derived_type): Likewise.
      	* trans-types.h: Likewise.
      	* trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
      	of coarray components.
      	(gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
      	instead of caf_deregister.
      
      libgfortran/ChangeLog:
      
      2017-01-07  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/78781
      	PR fortran/78935
      	* caf/single.c (send_by_ref): Fix addressing of non-allocatable scalar
      	destination components.
      
      gcc/testsuite/ChangeLog:
      
      2017-01-07  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	* gfortran.dg/coarray/ptr_comp_1.f08: New test.
      	* gfortran.dg/coarray/ptr_comp_2.f08: New test.
      	* gfortran.dg/coarray/ptr_comp_3.f08: New test.
      	* gfortran.dg/coarray/ptr_comp_4.f08: New test.
      	* gfortran.dg/coarray_ptr_comp_1.f08: New test.
      	* gfortran.dg/coarray_ptr_comp_2.f08: New test.
      	* gfortran.dg/coarray_ptr_comp_3.f08: New test.
      
      From-SVN: r244196
      Andre Vehreschild committed
  15. 03 Jan, 2017 2 commits
    • PR 78534 Revert r244011 · 84aff3c2
      r244011 caused regressions on 32-bit hosts.
      
      From-SVN: r244027
      Janne Blomqvist committed
    • PR 78534 Change character length from int to size_t · 994e4aca
      In order to handle large character lengths on (L)LP64 targets, switch
      the GFortran character length from an int to a size_t.
      
      This is an ABI change, as procedures with character arguments take
      hidden arguments with the character length.
      
      I also changed the _size member in vtables from int to size_t, as
      there were some cases where character lengths and sizes were
      apparently mixed up and caused regressions otherwise. Although I
      haven't tested, this might enable very large derived types as well.
      
      Also, as there are some places in the frontend were negative character
      lengths are used as special flag values, in the frontend the character
      length is handled as a signed variable of the same size as a size_t,
      although in the runtime library it really is size_t.
      
      I haven't changed the character length variables for the co-array
      intrinsics, as this is something that may need to be synchronized with
      OpenCoarrays.
      
      This is v3 of the patch. All the issues pointed out by FX's review of
      v2 have been fixed. In particular, there are now new functions
      gfc_mpz_get_hwi and gfc_mpz_set_hwi, similar to the GMP functions
      mpz_get_si and mpz_set_si, except that they get/set a HOST_WIDE_INT
      instead of a long value. Similarly, gfc_get_int_expr now takes a
      HOST_WIDE_INT instead of a long, gfc_extract_long is replaced by
      gfc_extract_hwi. Also, the preliminary work to handle
      gfc_charlen_type_node being unsigned has been removed.
      
      Regtested on x86_64-pc-linux-gnu.
      
      frontend:
      
      2017-01-03  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/78534
      	PR fortran/66310
      	* class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of
      	hardcoded kind.
      	(find_intrinsic_vtab): Likewise.
      	* expr.c (gfc_get_character_expr): Length parameter of type
      	gfc_charlen_t.
      	(gfc_get_int_expr): Value argument of type HOST_WIDE_INT.
      	(gfc_extract_hwi): New function.
      	(simplify_const_ref): Make string_len of type gfc_charlen_t.
      	(gfc_simplify_expr): Use HOST_WIDE_INT for substring refs.
      	* gfortran.h (gfc_mpz_get_hwi): New prototype.
      	(gfc_mpz_set_hwi): Likewise.
      	(gfc_charlen_t): New typedef.
      	(gfc_expr): Use gfc_charlen_t for character lengths.
      	(gfc_size_kind): New extern variable.
      	(gfc_extract_hwi): New prototype.
      	(gfc_get_character_expr): Use gfc_charlen_t for character length.
      	(gfc_get_int_expr): Use HOST_WIDE_INT type for value argument.
      	* iresolve.c (gfc_resolve_repeat): Pass string length directly without
      	temporary, use gfc_charlen_int_kind.
      	* match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen.
      	* misc.c (gfc_mpz_get_hwi): New function.
      	(gfc_mpz_set_hwi): New function.
      	* module.c (atom_int): Change type from int to HOST_WIDE_INT.
      	(parse_integer): Don't complain about large integers.
      	(write_atom): Use HOST_WIDE_INT for integers.
      	(mio_integer): Handle integer type mismatch.
      	(mio_hwi): New function.
      	(mio_intrinsic_op): Use HOST_WIDE_INT.
      	(mio_array_ref): Likewise.
      	(mio_expr): Likewise.
      	* resolve.c (resolve_select_type): Use HOST_WIDE_INT for charlen,
      	use snprintf.
      	(resolve_charlen): Use mpz_sgn to determine sign.
      	* simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t
      	instead of long.
      	* target-memory.c (size_character): Length argument of type
      	gfc_charlen_t.
      	(gfc_encode_character): Likewise.
      	(gfc_interpret_character): Use gfc_charlen_t.
      	* target-memory.h (gfc_encode_character): Modify prototype.
      	* trans-array.c (get_array_ctor_var_strlen): Use
      	gfc_conv_mpz_to_tree_type.
      	* trans-const.c (gfc_conv_mpz_to_tree_type): New function.
      	* trans-const.h (gfc_conv_mpz_to_tree_type): New prototype.
      	* trans-expr.c (gfc_class_len_or_zero_get): Build const of type
      	gfc_charlen_type_node.
      	(gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of
      	4, fold_convert to correct type.
      	(gfc_conv_class_to_class): Build const of type size_type_node for
      	size.
      	(gfc_copy_class_to_class): Likewise.
      	(gfc_conv_string_length): Use same type in expression.
      	(gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen.
      	(gfc_conv_string_tmp): Make sure len is of the right type.
      	(gfc_conv_concat_op): Use same type in expression.
      	(gfc_conv_procedure_call): Likewise.
      	(alloc_scalar_allocatable_for_subcomponent_assignment):
      	fold_convert to right type.
      	(gfc_trans_subcomponent_assign): Likewise.
      	(trans_class_vptr_len_assignment): Build const of correct type.
      	(gfc_trans_pointer_assignment): Likewise.
      	(alloc_scalar_allocatable_for_assignment): fold_convert to right
      	type in expr.
      	(trans_class_assignment): Build const of correct type.
      	* trans-intrinsic.c (gfc_conv_associated): Likewise.
      	(gfc_conv_intrinsic_repeat): Do calculation in sizetype.
      	* trans-io.c (gfc_build_io_library_fndecls): Use
      	gfc_charlen_type_node for character lengths.
      	* trans-stmt.c (gfc_trans_label_assign): Build const of
      	gfc_charlen_type_node.
      	(gfc_trans_character_select): Likewise.
      	(gfc_trans_allocate): Likewise, don't typecast strlen result.
      	(gfc_trans_deallocate): Don't typecast strlen result.
      	* trans-types.c (gfc_size_kind): New variable.
      	(gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind
      	from size_type_node.
      
      testsuite:
      
      2017-01-03  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/78534
      	PR fortran/66310
      	* gfortran.dg/dependency_49.f90: Change scan-tree-dump-times
                due to gfc_trans_string_copy change to avoid
                -Wstringop-overflow.
      	* gfortran.dg/repeat_4.f90: Use integers of kind C_SIZE_T.
      	* gfortran.dg/repeat_7.f90: New test for PR 66310.
      	* gfortran.dg/scan_2.f90: Handle potential cast in assignment.
      	* gfortran.dg/string_1.f90: Limit to ilp32 targets.
      	* gfortran.dg/string_1_lp64.f90: New test.
      	* gfortran.dg/string_3.f90: Limit to ilp32 targets.
      	* gfortran.dg/string_3_lp64.f90: New test.
      	* gfortran.dg/transfer_intrinsic_1.f90: Change
                scan-tree-dump-times due to gfc_trans_string_copy change to
                avoid -Wstringop-overflow.
      
      libgfortran:
      
      2017-01-03  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/78534
      	* intrinsics/args.c (getarg_i4): Use gfc_charlen_type.
      	(get_command_argument_i4): Likewise.
      	(get_command_i4): Likewise.
      	* intrinsics/chmod.c (chmod_internal): Likewise.
      	* intrinsics/env.c (get_environment_variable_i4): Likewise.
      	* intrinsics/extends_type_of.c (struct vtype): Use size_t for size
      	member.
      	* intrinsics/gerror.c (gerror): Use gfc_charlen_type.
      	* intrinsics/getlog.c (getlog): Likewise.
      	* intrinsics/hostnm.c (hostnm_0): Likewise.
      	* intrinsics/string_intrinsics_inc.c (string_len_trim): Rework to
      	work if gfc_charlen_type is unsigned.
      	(string_scan): Likewise.
      	* io/transfer.c (transfer_character): Modify prototype.
      	(transfer_character_write): Likewise.
      	(transfer_character_wide): Likewise.
      	(transfer_character_wide_write): Likewise.
      	(transfer_array): Typecast to avoid signed-unsigned comparison.
      	* io/unit.c (is_trim_ok): Use gfc_charlen_type.
      	* io/write.c (namelist_write): Likewise.
      	* libgfortran.h (gfc_charlen_type): Change typedef to size_t.
      
      From-SVN: r244011
      Janne Blomqvist committed
  16. 01 Jan, 2017 1 commit
  17. 21 Dec, 2016 6 commits
    • random.c: Do not include <sys/types.h> header. · e034421f
      	* intrinsics/random.c: Do not include <sys/types.h> header.
      	* m4/maxloc0.m4: Do not include <limits.h> header.
      	* m4/maxloc1.m4: Do not include <limits.h> header.
      	* m4/minloc0.m4: Do not include <limits.h> header.
      	* m4/minloc1.m4: Do not include <limits.h> header.
      	* m4/norm2.m4: Do not include <math.h> header.
      	* m4/parity.m4: Do not include <math.h> header.
      	* runtime/minimal.c: Remove <limits.h> and <errno.h> headers.
      	* generated/maxloc0_16_i1.c: Regenerate.
      	* generated/maxloc0_16_i16.c: Regenerate.
      	* generated/maxloc0_16_i2.c: Regenerate.
      	* generated/maxloc0_16_i4.c: Regenerate.
      	* generated/maxloc0_16_i8.c: Regenerate.
      	* generated/maxloc0_16_r10.c: Regenerate.
      	* generated/maxloc0_16_r16.c: Regenerate.
      	* generated/maxloc0_16_r4.c: Regenerate.
      	* generated/maxloc0_16_r8.c: Regenerate.
      	* generated/maxloc0_4_i1.c: Regenerate.
      	* generated/maxloc0_4_i16.c: Regenerate.
      	* generated/maxloc0_4_i2.c: Regenerate.
      	* generated/maxloc0_4_i4.c: Regenerate.
      	* generated/maxloc0_4_i8.c: Regenerate.
      	* generated/maxloc0_4_r10.c: Regenerate.
      	* generated/maxloc0_4_r16.c: Regenerate.
      	* generated/maxloc0_4_r4.c: Regenerate.
      	* generated/maxloc0_4_r8.c: Regenerate.
      	* generated/maxloc0_8_i1.c: Regenerate.
      	* generated/maxloc0_8_i16.c: Regenerate.
      	* generated/maxloc0_8_i2.c: Regenerate.
      	* generated/maxloc0_8_i4.c: Regenerate.
      	* generated/maxloc0_8_i8.c: Regenerate.
      	* generated/maxloc0_8_r10.c: Regenerate.
      	* generated/maxloc0_8_r16.c: Regenerate.
      	* generated/maxloc0_8_r4.c: Regenerate.
      	* generated/maxloc0_8_r8.c: Regenerate.
      	* generated/maxloc1_16_i1.c: Regenerate.
      	* generated/maxloc1_16_i16.c: Regenerate.
      	* generated/maxloc1_16_i2.c: Regenerate.
      	* generated/maxloc1_16_i4.c: Regenerate.
      	* generated/maxloc1_16_i8.c: Regenerate.
      	* generated/maxloc1_16_r10.c: Regenerate.
      	* generated/maxloc1_16_r16.c: Regenerate.
      	* generated/maxloc1_16_r4.c: Regenerate.
      	* generated/maxloc1_16_r8.c: Regenerate.
      	* generated/maxloc1_4_i1.c: Regenerate.
      	* generated/maxloc1_4_i16.c: Regenerate.
      	* generated/maxloc1_4_i2.c: Regenerate.
      	* generated/maxloc1_4_i4.c: Regenerate.
      	* generated/maxloc1_4_i8.c: Regenerate.
      	* generated/maxloc1_4_r10.c: Regenerate.
      	* generated/maxloc1_4_r16.c: Regenerate.
      	* generated/maxloc1_4_r4.c: Regenerate.
      	* generated/maxloc1_4_r8.c: Regenerate.
      	* generated/maxloc1_8_i1.c: Regenerate.
      	* generated/maxloc1_8_i16.c: Regenerate.
      	* generated/maxloc1_8_i2.c: Regenerate.
      	* generated/maxloc1_8_i4.c: Regenerate.
      	* generated/maxloc1_8_i8.c: Regenerate.
      	* generated/maxloc1_8_r10.c: Regenerate.
      	* generated/maxloc1_8_r16.c: Regenerate.
      	* generated/maxloc1_8_r4.c: Regenerate.
      	* generated/maxloc1_8_r8.c: Regenerate.
      	* generated/minloc0_16_i1.c: Regenerate.
      	* generated/minloc0_16_i16.c: Regenerate.
      	* generated/minloc0_16_i2.c: Regenerate.
      	* generated/minloc0_16_i4.c: Regenerate.
      	* generated/minloc0_16_i8.c: Regenerate.
      	* generated/minloc0_16_r10.c: Regenerate.
      	* generated/minloc0_16_r16.c: Regenerate.
      	* generated/minloc0_16_r4.c: Regenerate.
      	* generated/minloc0_16_r8.c: Regenerate.
      	* generated/minloc0_4_i1.c: Regenerate.
      	* generated/minloc0_4_i16.c: Regenerate.
      	* generated/minloc0_4_i2.c: Regenerate.
      	* generated/minloc0_4_i4.c: Regenerate.
      	* generated/minloc0_4_i8.c: Regenerate.
      	* generated/minloc0_4_r10.c: Regenerate.
      	* generated/minloc0_4_r16.c: Regenerate.
      	* generated/minloc0_4_r4.c: Regenerate.
      	* generated/minloc0_4_r8.c: Regenerate.
      	* generated/minloc0_8_i1.c: Regenerate.
      	* generated/minloc0_8_i16.c: Regenerate.
      	* generated/minloc0_8_i2.c: Regenerate.
      	* generated/minloc0_8_i4.c: Regenerate.
      	* generated/minloc0_8_i8.c: Regenerate.
      	* generated/minloc0_8_r10.c: Regenerate.
      	* generated/minloc0_8_r16.c: Regenerate.
      	* generated/minloc0_8_r4.c: Regenerate.
      	* generated/minloc0_8_r8.c: Regenerate.
      	* generated/minloc1_16_i1.c: Regenerate.
      	* generated/minloc1_16_i16.c: Regenerate.
      	* generated/minloc1_16_i2.c: Regenerate.
      	* generated/minloc1_16_i4.c: Regenerate.
      	* generated/minloc1_16_i8.c: Regenerate.
      	* generated/minloc1_16_r10.c: Regenerate.
      	* generated/minloc1_16_r16.c: Regenerate.
      	* generated/minloc1_16_r4.c: Regenerate.
      	* generated/minloc1_16_r8.c: Regenerate.
      	* generated/minloc1_4_i1.c: Regenerate.
      	* generated/minloc1_4_i16.c: Regenerate.
      	* generated/minloc1_4_i2.c: Regenerate.
      	* generated/minloc1_4_i4.c: Regenerate.
      	* generated/minloc1_4_i8.c: Regenerate.
      	* generated/minloc1_4_r10.c: Regenerate.
      	* generated/minloc1_4_r16.c: Regenerate.
      	* generated/minloc1_4_r4.c: Regenerate.
      	* generated/minloc1_4_r8.c: Regenerate.
      	* generated/minloc1_8_i1.c: Regenerate.
      	* generated/minloc1_8_i16.c: Regenerate.
      	* generated/minloc1_8_i2.c: Regenerate.
      	* generated/minloc1_8_i4.c: Regenerate.
      	* generated/minloc1_8_i8.c: Regenerate.
      	* generated/minloc1_8_r10.c: Regenerate.
      	* generated/minloc1_8_r16.c: Regenerate.
      	* generated/minloc1_8_r4.c: Regenerate.
      	* generated/minloc1_8_r8.c: Regenerate.
      	* generated/norm2_r10.c: Regenerate.
      	* generated/norm2_r16.c: Regenerate.
      	* generated/norm2_r4.c: Regenerate.
      	* generated/norm2_r8.c: Regenerate.
      	* generated/parity_l1.c: Regenerate.
      	* generated/parity_l16.c: Regenerate.
      	* generated/parity_l2.c: Regenerate.
      	* generated/parity_l4.c: Regenerate.
      	* generated/parity_l8.c: Regenerate.
      
      From-SVN: r243847
      Francois-Xavier Coudert committed
    • libgfortran.h: Include <stdlib.h> header. · 887d9b8b
      	* libgfortran.h: Include <stdlib.h> header.
      	* intrinsics/access.c: Do not include <stdlib.h> header.
      	* intrinsics/chdir.c: Do not include <stdlib.h> header.
      	* intrinsics/chmod.c: Do not include <stdlib.h> header.
      	* intrinsics/date_and_time.c: Do not include <stdlib.h> header.
      	* intrinsics/env.c: Do not include <stdlib.h> header.
      	* intrinsics/execute_command_line.c: Do not include <stdlib.h> header.
      	* intrinsics/exit.c: Do not include <stdlib.h> header.
      	* intrinsics/getcwd.c: Do not include <stdlib.h> header.
      	* intrinsics/getlog.c: Do not include <stdlib.h> header.
      	* intrinsics/link.c: Do not include <stdlib.h> header.
      	* intrinsics/move_alloc.c: Do not include <stdlib.h> header.
      	* intrinsics/perror.c: Do not include <stdlib.h> header.
      	* intrinsics/random.c: Do not include <stdlib.h> header.
      	* intrinsics/rename.c: Do not include <stdlib.h> header.
      	* intrinsics/reshape_generic.c: Do not include <stdlib.h> header.
      	* intrinsics/stat.c: Do not include <stdlib.h> header.
      	* intrinsics/symlnk.c: Do not include <stdlib.h> header.
      	* intrinsics/system.c: Do not include <stdlib.h> header.
      	* intrinsics/unlink.c: Do not include <stdlib.h> header.
      	* io/fbuf.c: Do not include <stdlib.h> header.
      	* io/format.c: Do not include <stdlib.h> header.
      	* io/intrinsics.c: Do not include <stdlib.h> header.
      	* io/list_read.c: Do not include <stdlib.h> header.
      	* io/lock.c: Do not include <stdlib.h> header.
      	* io/open.c: Do not include <stdlib.h> header.
      	* io/read.c: Do not include <stdlib.h> header.
      	* io/transfer.c: Do not include <stdlib.h> header.
      	* io/unit.c: Do not include <stdlib.h> header.
      	* io/unix.c: Do not include <stdlib.h> header.
      	* io/write.c: Do not include <stdlib.h> header.
      	* m4/all.m4: Do not include <stdlib.h> header.
      	* m4/any.m4: Do not include <stdlib.h> header.
      	* m4/bessel.m4: Do not include <stdlib.h> header.
      	* m4/count.m4: Do not include <stdlib.h> header.
      	* m4/cshift0.m4: Do not include <stdlib.h> header.
      	* m4/cshift1.m4: Do not include <stdlib.h> header.
      	* m4/eoshift1.m4: Do not include <stdlib.h> header.
      	* m4/eoshift3.m4: Do not include <stdlib.h> header.
      	* m4/iall.m4: Do not include <stdlib.h> header.
      	* m4/iany.m4: Do not include <stdlib.h> header.
      	* m4/in_pack.m4: Do not include <stdlib.h> header.
      	* m4/in_unpack.m4: Do not include <stdlib.h> header.
      	* m4/iparity.m4: Do not include <stdlib.h> header.
      	* m4/matmul.m4: Do not include <stdlib.h> header.
      	* m4/matmull.m4: Do not include <stdlib.h> header.
      	* m4/maxloc0.m4: Do not include <stdlib.h> header.
      	* m4/maxloc1.m4: Do not include <stdlib.h> header.
      	* m4/maxval.m4: Do not include <stdlib.h> header.
      	* m4/minloc0.m4: Do not include <stdlib.h> header.
      	* m4/minloc1.m4: Do not include <stdlib.h> header.
      	* m4/minval.m4: Do not include <stdlib.h> header.
      	* m4/norm2.m4: Do not include <stdlib.h> header.
      	* m4/pack.m4: Do not include <stdlib.h> header.
      	* m4/parity.m4: Do not include <stdlib.h> header.
      	* m4/product.m4: Do not include <stdlib.h> header.
      	* m4/reshape.m4: Do not include <stdlib.h> header.
      	* m4/shape.m4: Do not include <stdlib.h> header.
      	* m4/spread.m4: Do not include <stdlib.h> header.
      	* m4/sum.m4: Do not include <stdlib.h> header.
      	* m4/unpack.m4: Do not include <stdlib.h> header.
      	* runtime/environ.c: Do not include <stdlib.h> header.
      	* runtime/error.c: Do not include <stdlib.h> header.
      	* runtime/memory.c: Do not include <stdlib.h> header.
      	* runtime/minimal.c: Do not include <stdlib.h> header.
      	* runtime/string.c: Do not include <stdlib.h> header.
      	* generated/all_l1.c: Regenerate.
      	* generated/all_l16.c: Regenerate.
      	* generated/all_l2.c: Regenerate.
      	* generated/all_l4.c: Regenerate.
      	* generated/all_l8.c: Regenerate.
      	* generated/any_l1.c: Regenerate.
      	* generated/any_l16.c: Regenerate.
      	* generated/any_l2.c: Regenerate.
      	* generated/any_l4.c: Regenerate.
      	* generated/any_l8.c: Regenerate.
      	* generated/bessel_r10.c: Regenerate.
      	* generated/bessel_r16.c: Regenerate.
      	* generated/bessel_r4.c: Regenerate.
      	* generated/bessel_r8.c: Regenerate.
      	* generated/count_16_l.c: Regenerate.
      	* generated/count_1_l.c: Regenerate.
      	* generated/count_2_l.c: Regenerate.
      	* generated/count_4_l.c: Regenerate.
      	* generated/count_8_l.c: Regenerate.
      	* generated/cshift0_c10.c: Regenerate.
      	* generated/cshift0_c16.c: Regenerate.
      	* generated/cshift0_c4.c: Regenerate.
      	* generated/cshift0_c8.c: Regenerate.
      	* generated/cshift0_i1.c: Regenerate.
      	* generated/cshift0_i16.c: Regenerate.
      	* generated/cshift0_i2.c: Regenerate.
      	* generated/cshift0_i4.c: Regenerate.
      	* generated/cshift0_i8.c: Regenerate.
      	* generated/cshift0_r10.c: Regenerate.
      	* generated/cshift0_r16.c: Regenerate.
      	* generated/cshift0_r4.c: Regenerate.
      	* generated/cshift0_r8.c: Regenerate.
      	* generated/cshift1_16.c: Regenerate.
      	* generated/cshift1_4.c: Regenerate.
      	* generated/cshift1_8.c: Regenerate.
      	* generated/eoshift1_16.c: Regenerate.
      	* generated/eoshift1_4.c: Regenerate.
      	* generated/eoshift1_8.c: Regenerate.
      	* generated/eoshift3_16.c: Regenerate.
      	* generated/eoshift3_4.c: Regenerate.
      	* generated/eoshift3_8.c: Regenerate.
      	* generated/iall_i1.c: Regenerate.
      	* generated/iall_i16.c: Regenerate.
      	* generated/iall_i2.c: Regenerate.
      	* generated/iall_i4.c: Regenerate.
      	* generated/iall_i8.c: Regenerate.
      	* generated/iany_i1.c: Regenerate.
      	* generated/iany_i16.c: Regenerate.
      	* generated/iany_i2.c: Regenerate.
      	* generated/iany_i4.c: Regenerate.
      	* generated/iany_i8.c: Regenerate.
      	* generated/in_pack_c10.c: Regenerate.
      	* generated/in_pack_c16.c: Regenerate.
      	* generated/in_pack_c4.c: Regenerate.
      	* generated/in_pack_c8.c: Regenerate.
      	* generated/in_pack_i1.c: Regenerate.
      	* generated/in_pack_i16.c: Regenerate.
      	* generated/in_pack_i2.c: Regenerate.
      	* generated/in_pack_i4.c: Regenerate.
      	* generated/in_pack_i8.c: Regenerate.
      	* generated/in_pack_r10.c: Regenerate.
      	* generated/in_pack_r16.c: Regenerate.
      	* generated/in_pack_r4.c: Regenerate.
      	* generated/in_pack_r8.c: Regenerate.
      	* generated/in_unpack_c10.c: Regenerate.
      	* generated/in_unpack_c16.c: Regenerate.
      	* generated/in_unpack_c4.c: Regenerate.
      	* generated/in_unpack_c8.c: Regenerate.
      	* generated/in_unpack_i1.c: Regenerate.
      	* generated/in_unpack_i16.c: Regenerate.
      	* generated/in_unpack_i2.c: Regenerate.
      	* generated/in_unpack_i4.c: Regenerate.
      	* generated/in_unpack_i8.c: Regenerate.
      	* generated/in_unpack_r10.c: Regenerate.
      	* generated/in_unpack_r16.c: Regenerate.
      	* generated/in_unpack_r4.c: Regenerate.
      	* generated/in_unpack_r8.c: Regenerate.
      	* generated/iparity_i1.c: Regenerate.
      	* generated/iparity_i16.c: Regenerate.
      	* generated/iparity_i2.c: Regenerate.
      	* generated/iparity_i4.c: Regenerate.
      	* generated/iparity_i8.c: Regenerate.
      	* generated/matmul_c10.c: Regenerate.
      	* generated/matmul_c16.c: Regenerate.
      	* generated/matmul_c4.c: Regenerate.
      	* generated/matmul_c8.c: Regenerate.
      	* generated/matmul_i1.c: Regenerate.
      	* generated/matmul_i16.c: Regenerate.
      	* generated/matmul_i2.c: Regenerate.
      	* generated/matmul_i4.c: Regenerate.
      	* generated/matmul_i8.c: Regenerate.
      	* generated/matmul_l16.c: Regenerate.
      	* generated/matmul_l4.c: Regenerate.
      	* generated/matmul_l8.c: Regenerate.
      	* generated/matmul_r10.c: Regenerate.
      	* generated/matmul_r16.c: Regenerate.
      	* generated/matmul_r4.c: Regenerate.
      	* generated/matmul_r8.c: Regenerate.
      	* generated/maxloc0_16_i1.c: Regenerate.
      	* generated/maxloc0_16_i16.c: Regenerate.
      	* generated/maxloc0_16_i2.c: Regenerate.
      	* generated/maxloc0_16_i4.c: Regenerate.
      	* generated/maxloc0_16_i8.c: Regenerate.
      	* generated/maxloc0_16_r10.c: Regenerate.
      	* generated/maxloc0_16_r16.c: Regenerate.
      	* generated/maxloc0_16_r4.c: Regenerate.
      	* generated/maxloc0_16_r8.c: Regenerate.
      	* generated/maxloc0_4_i1.c: Regenerate.
      	* generated/maxloc0_4_i16.c: Regenerate.
      	* generated/maxloc0_4_i2.c: Regenerate.
      	* generated/maxloc0_4_i4.c: Regenerate.
      	* generated/maxloc0_4_i8.c: Regenerate.
      	* generated/maxloc0_4_r10.c: Regenerate.
      	* generated/maxloc0_4_r16.c: Regenerate.
      	* generated/maxloc0_4_r4.c: Regenerate.
      	* generated/maxloc0_4_r8.c: Regenerate.
      	* generated/maxloc0_8_i1.c: Regenerate.
      	* generated/maxloc0_8_i16.c: Regenerate.
      	* generated/maxloc0_8_i2.c: Regenerate.
      	* generated/maxloc0_8_i4.c: Regenerate.
      	* generated/maxloc0_8_i8.c: Regenerate.
      	* generated/maxloc0_8_r10.c: Regenerate.
      	* generated/maxloc0_8_r16.c: Regenerate.
      	* generated/maxloc0_8_r4.c: Regenerate.
      	* generated/maxloc0_8_r8.c: Regenerate.
      	* generated/maxloc1_16_i1.c: Regenerate.
      	* generated/maxloc1_16_i16.c: Regenerate.
      	* generated/maxloc1_16_i2.c: Regenerate.
      	* generated/maxloc1_16_i4.c: Regenerate.
      	* generated/maxloc1_16_i8.c: Regenerate.
      	* generated/maxloc1_16_r10.c: Regenerate.
      	* generated/maxloc1_16_r16.c: Regenerate.
      	* generated/maxloc1_16_r4.c: Regenerate.
      	* generated/maxloc1_16_r8.c: Regenerate.
      	* generated/maxloc1_4_i1.c: Regenerate.
      	* generated/maxloc1_4_i16.c: Regenerate.
      	* generated/maxloc1_4_i2.c: Regenerate.
      	* generated/maxloc1_4_i4.c: Regenerate.
      	* generated/maxloc1_4_i8.c: Regenerate.
      	* generated/maxloc1_4_r10.c: Regenerate.
      	* generated/maxloc1_4_r16.c: Regenerate.
      	* generated/maxloc1_4_r4.c: Regenerate.
      	* generated/maxloc1_4_r8.c: Regenerate.
      	* generated/maxloc1_8_i1.c: Regenerate.
      	* generated/maxloc1_8_i16.c: Regenerate.
      	* generated/maxloc1_8_i2.c: Regenerate.
      	* generated/maxloc1_8_i4.c: Regenerate.
      	* generated/maxloc1_8_i8.c: Regenerate.
      	* generated/maxloc1_8_r10.c: Regenerate.
      	* generated/maxloc1_8_r16.c: Regenerate.
      	* generated/maxloc1_8_r4.c: Regenerate.
      	* generated/maxloc1_8_r8.c: Regenerate.
      	* generated/maxval_i1.c: Regenerate.
      	* generated/maxval_i16.c: Regenerate.
      	* generated/maxval_i2.c: Regenerate.
      	* generated/maxval_i4.c: Regenerate.
      	* generated/maxval_i8.c: Regenerate.
      	* generated/maxval_r10.c: Regenerate.
      	* generated/maxval_r16.c: Regenerate.
      	* generated/maxval_r4.c: Regenerate.
      	* generated/maxval_r8.c: Regenerate.
      	* generated/minloc0_16_i1.c: Regenerate.
      	* generated/minloc0_16_i16.c: Regenerate.
      	* generated/minloc0_16_i2.c: Regenerate.
      	* generated/minloc0_16_i4.c: Regenerate.
      	* generated/minloc0_16_i8.c: Regenerate.
      	* generated/minloc0_16_r10.c: Regenerate.
      	* generated/minloc0_16_r16.c: Regenerate.
      	* generated/minloc0_16_r4.c: Regenerate.
      	* generated/minloc0_16_r8.c: Regenerate.
      	* generated/minloc0_4_i1.c: Regenerate.
      	* generated/minloc0_4_i16.c: Regenerate.
      	* generated/minloc0_4_i2.c: Regenerate.
      	* generated/minloc0_4_i4.c: Regenerate.
      	* generated/minloc0_4_i8.c: Regenerate.
      	* generated/minloc0_4_r10.c: Regenerate.
      	* generated/minloc0_4_r16.c: Regenerate.
      	* generated/minloc0_4_r4.c: Regenerate.
      	* generated/minloc0_4_r8.c: Regenerate.
      	* generated/minloc0_8_i1.c: Regenerate.
      	* generated/minloc0_8_i16.c: Regenerate.
      	* generated/minloc0_8_i2.c: Regenerate.
      	* generated/minloc0_8_i4.c: Regenerate.
      	* generated/minloc0_8_i8.c: Regenerate.
      	* generated/minloc0_8_r10.c: Regenerate.
      	* generated/minloc0_8_r16.c: Regenerate.
      	* generated/minloc0_8_r4.c: Regenerate.
      	* generated/minloc0_8_r8.c: Regenerate.
      	* generated/minloc1_16_i1.c: Regenerate.
      	* generated/minloc1_16_i16.c: Regenerate.
      	* generated/minloc1_16_i2.c: Regenerate.
      	* generated/minloc1_16_i4.c: Regenerate.
      	* generated/minloc1_16_i8.c: Regenerate.
      	* generated/minloc1_16_r10.c: Regenerate.
      	* generated/minloc1_16_r16.c: Regenerate.
      	* generated/minloc1_16_r4.c: Regenerate.
      	* generated/minloc1_16_r8.c: Regenerate.
      	* generated/minloc1_4_i1.c: Regenerate.
      	* generated/minloc1_4_i16.c: Regenerate.
      	* generated/minloc1_4_i2.c: Regenerate.
      	* generated/minloc1_4_i4.c: Regenerate.
      	* generated/minloc1_4_i8.c: Regenerate.
      	* generated/minloc1_4_r10.c: Regenerate.
      	* generated/minloc1_4_r16.c: Regenerate.
      	* generated/minloc1_4_r4.c: Regenerate.
      	* generated/minloc1_4_r8.c: Regenerate.
      	* generated/minloc1_8_i1.c: Regenerate.
      	* generated/minloc1_8_i16.c: Regenerate.
      	* generated/minloc1_8_i2.c: Regenerate.
      	* generated/minloc1_8_i4.c: Regenerate.
      	* generated/minloc1_8_i8.c: Regenerate.
      	* generated/minloc1_8_r10.c: Regenerate.
      	* generated/minloc1_8_r16.c: Regenerate.
      	* generated/minloc1_8_r4.c: Regenerate.
      	* generated/minloc1_8_r8.c: Regenerate.
      	* generated/minval_i1.c: Regenerate.
      	* generated/minval_i16.c: Regenerate.
      	* generated/minval_i2.c: Regenerate.
      	* generated/minval_i4.c: Regenerate.
      	* generated/minval_i8.c: Regenerate.
      	* generated/minval_r10.c: Regenerate.
      	* generated/minval_r16.c: Regenerate.
      	* generated/minval_r4.c: Regenerate.
      	* generated/minval_r8.c: Regenerate.
      	* generated/norm2_r10.c: Regenerate.
      	* generated/norm2_r16.c: Regenerate.
      	* generated/norm2_r4.c: Regenerate.
      	* generated/norm2_r8.c: Regenerate.
      	* generated/pack_c10.c: Regenerate.
      	* generated/pack_c16.c: Regenerate.
      	* generated/pack_c4.c: Regenerate.
      	* generated/pack_c8.c: Regenerate.
      	* generated/pack_i1.c: Regenerate.
      	* generated/pack_i16.c: Regenerate.
      	* generated/pack_i2.c: Regenerate.
      	* generated/pack_i4.c: Regenerate.
      	* generated/pack_i8.c: Regenerate.
      	* generated/pack_r10.c: Regenerate.
      	* generated/pack_r16.c: Regenerate.
      	* generated/pack_r4.c: Regenerate.
      	* generated/pack_r8.c: Regenerate.
      	* generated/parity_l1.c: Regenerate.
      	* generated/parity_l16.c: Regenerate.
      	* generated/parity_l2.c: Regenerate.
      	* generated/parity_l4.c: Regenerate.
      	* generated/parity_l8.c: Regenerate.
      	* generated/product_c10.c: Regenerate.
      	* generated/product_c16.c: Regenerate.
      	* generated/product_c4.c: Regenerate.
      	* generated/product_c8.c: Regenerate.
      	* generated/product_i1.c: Regenerate.
      	* generated/product_i16.c: Regenerate.
      	* generated/product_i2.c: Regenerate.
      	* generated/product_i4.c: Regenerate.
      	* generated/product_i8.c: Regenerate.
      	* generated/product_r10.c: Regenerate.
      	* generated/product_r16.c: Regenerate.
      	* generated/product_r4.c: Regenerate.
      	* generated/product_r8.c: Regenerate.
      	* generated/reshape_c10.c: Regenerate.
      	* generated/reshape_c16.c: Regenerate.
      	* generated/reshape_c4.c: Regenerate.
      	* generated/reshape_c8.c: Regenerate.
      	* generated/reshape_i16.c: Regenerate.
      	* generated/reshape_i4.c: Regenerate.
      	* generated/reshape_i8.c: Regenerate.
      	* generated/reshape_r10.c: Regenerate.
      	* generated/reshape_r16.c: Regenerate.
      	* generated/reshape_r4.c: Regenerate.
      	* generated/reshape_r8.c: Regenerate.
      	* generated/shape_i1.c: Regenerate.
      	* generated/shape_i16.c: Regenerate.
      	* generated/shape_i2.c: Regenerate.
      	* generated/shape_i4.c: Regenerate.
      	* generated/shape_i8.c: Regenerate.
      	* generated/spread_c10.c: Regenerate.
      	* generated/spread_c16.c: Regenerate.
      	* generated/spread_c4.c: Regenerate.
      	* generated/spread_c8.c: Regenerate.
      	* generated/spread_i1.c: Regenerate.
      	* generated/spread_i16.c: Regenerate.
      	* generated/spread_i2.c: Regenerate.
      	* generated/spread_i4.c: Regenerate.
      	* generated/spread_i8.c: Regenerate.
      	* generated/spread_r10.c: Regenerate.
      	* generated/spread_r16.c: Regenerate.
      	* generated/spread_r4.c: Regenerate.
      	* generated/spread_r8.c: Regenerate.
      	* generated/sum_c10.c: Regenerate.
      	* generated/sum_c16.c: Regenerate.
      	* generated/sum_c4.c: Regenerate.
      	* generated/sum_c8.c: Regenerate.
      	* generated/sum_i1.c: Regenerate.
      	* generated/sum_i16.c: Regenerate.
      	* generated/sum_i2.c: Regenerate.
      	* generated/sum_i4.c: Regenerate.
      	* generated/sum_i8.c: Regenerate.
      	* generated/sum_r10.c: Regenerate.
      	* generated/sum_r16.c: Regenerate.
      	* generated/sum_r4.c: Regenerate.
      	* generated/sum_r8.c: Regenerate.
      	* generated/unpack_c10.c: Regenerate.
      	* generated/unpack_c16.c: Regenerate.
      	* generated/unpack_c4.c: Regenerate.
      	* generated/unpack_c8.c: Regenerate.
      	* generated/unpack_i1.c: Regenerate.
      	* generated/unpack_i16.c: Regenerate.
      	* generated/unpack_i2.c: Regenerate.
      	* generated/unpack_i4.c: Regenerate.
      	* generated/unpack_i8.c: Regenerate.
      	* generated/unpack_r10.c: Regenerate.
      	* generated/unpack_r16.c: Regenerate.
      	* generated/unpack_r4.c: Regenerate.
      	* generated/unpack_r8.c: Regenerate.
      
      From-SVN: r243846
      Francois-Xavier Coudert committed
    • abort.c: Remove unused headers. · 981c0cd1
      	* intrinsics/abort.c: Remove unused headers.
      	* intrinsics/access.c: Remove unused headers.
      	* intrinsics/chdir.c: Remove unused headers.
      	* intrinsics/chmod.c: Remove unused headers.
      	* intrinsics/cshift0.c: Remove unused headers.
      	* intrinsics/ctime.c: Remove unused headers.
      	* intrinsics/eoshift0.c: Remove unused headers.
      	* intrinsics/eoshift2.c: Remove unused headers.
      	* intrinsics/extends_type_of.c: Remove unused headers.
      	* intrinsics/link.c: Remove unused headers.
      	* intrinsics/pack_generic.c: Remove unused headers.
      	* intrinsics/perror.c: Remove unused headers.
      	* intrinsics/rename.c: Remove unused headers.
      	* intrinsics/reshape_generic.c: Remove unused headers.
      	* intrinsics/sleep.c: Remove unused headers.
      	* intrinsics/spread_generic.c: Remove unused headers.
      	* intrinsics/stat.c: Remove unused headers.
      	* intrinsics/string_intrinsics.c: Remove unused headers.
      	* intrinsics/symlnk.c: Remove unused headers.
      	* intrinsics/system.c: Remove unused headers.
      	* intrinsics/umask.c: Remove unused headers.
      	* intrinsics/unlink.c: Remove unused headers.
      	* intrinsics/unpack_generic.c: Remove unused headers.
      	* io/read.c: Remove unused headers.
      	* io/transfer.c: Remove unused headers.
      	* io/unix.c: Remove unused headers.
      	* io/write.c: Remove unused headers.
      	* m4/all.m4: Remove unused headers.
      	* m4/any.m4: Remove unused headers.
      	* m4/bessel.m4: Remove unused headers.
      	* m4/count.m4: Remove unused headers.
      	* m4/cshift0.m4: Remove unused headers.
      	* m4/cshift1.m4: Remove unused headers.
      	* m4/eoshift1.m4: Remove unused headers.
      	* m4/eoshift3.m4: Remove unused headers.
      	* m4/iall.m4: Remove unused headers.
      	* m4/iany.m4: Remove unused headers.
      	* m4/in_pack.m4: Remove unused headers.
      	* m4/in_unpack.m4: Remove unused headers.
      	* m4/iparity.m4: Remove unused headers.
      	* m4/maxloc0.m4: Remove unused headers.
      	* m4/maxloc1.m4: Remove unused headers.
      	* m4/maxval.m4: Remove unused headers.
      	* m4/minloc0.m4: Remove unused headers.
      	* m4/minloc1.m4: Remove unused headers.
      	* m4/minval.m4: Remove unused headers.
      	* m4/norm2.m4: Remove unused headers.
      	* m4/pack.m4: Remove unused headers.
      	* m4/parity.m4: Remove unused headers.
      	* m4/product.m4: Remove unused headers.
      	* m4/reshape.m4: Remove unused headers.
      	* m4/shape.m4: Remove unused headers.
      	* m4/spread.m4: Remove unused headers.
      	* m4/sum.m4: Remove unused headers.
      	* m4/unpack.m4: Remove unused headers.
      	* runtime/backtrace.c: Remove unused headers.
      	* runtime/convert_char.c: Remove unused headers.
      	* runtime/in_pack_generic.c: Remove unused headers.
      	* runtime/in_unpack_generic.c: Remove unused headers.
      	* runtime/main.c: Remove unused headers.
      	* runtime/stop.c: Remove unused headers.
      	* generated/all_l1.c: Regenerate.
      	* generated/all_l16.c: Regenerate.
      	* generated/all_l2.c: Regenerate.
      	* generated/all_l4.c: Regenerate.
      	* generated/all_l8.c: Regenerate.
      	* generated/any_l1.c: Regenerate.
      	* generated/any_l16.c: Regenerate.
      	* generated/any_l2.c: Regenerate.
      	* generated/any_l4.c: Regenerate.
      	* generated/any_l8.c: Regenerate.
      	* generated/bessel_r10.c: Regenerate.
      	* generated/bessel_r16.c: Regenerate.
      	* generated/bessel_r4.c: Regenerate.
      	* generated/bessel_r8.c: Regenerate.
      	* generated/count_16_l.c: Regenerate.
      	* generated/count_1_l.c: Regenerate.
      	* generated/count_2_l.c: Regenerate.
      	* generated/count_4_l.c: Regenerate.
      	* generated/count_8_l.c: Regenerate.
      	* generated/cshift0_c10.c: Regenerate.
      	* generated/cshift0_c16.c: Regenerate.
      	* generated/cshift0_c4.c: Regenerate.
      	* generated/cshift0_c8.c: Regenerate.
      	* generated/cshift0_i1.c: Regenerate.
      	* generated/cshift0_i16.c: Regenerate.
      	* generated/cshift0_i2.c: Regenerate.
      	* generated/cshift0_i4.c: Regenerate.
      	* generated/cshift0_i8.c: Regenerate.
      	* generated/cshift0_r10.c: Regenerate.
      	* generated/cshift0_r16.c: Regenerate.
      	* generated/cshift0_r4.c: Regenerate.
      	* generated/cshift0_r8.c: Regenerate.
      	* generated/cshift1_16.c: Regenerate.
      	* generated/cshift1_4.c: Regenerate.
      	* generated/cshift1_8.c: Regenerate.
      	* generated/eoshift1_16.c: Regenerate.
      	* generated/eoshift1_4.c: Regenerate.
      	* generated/eoshift1_8.c: Regenerate.
      	* generated/eoshift3_16.c: Regenerate.
      	* generated/eoshift3_4.c: Regenerate.
      	* generated/eoshift3_8.c: Regenerate.
      	* generated/iall_i1.c: Regenerate.
      	* generated/iall_i16.c: Regenerate.
      	* generated/iall_i2.c: Regenerate.
      	* generated/iall_i4.c: Regenerate.
      	* generated/iall_i8.c: Regenerate.
      	* generated/iany_i1.c: Regenerate.
      	* generated/iany_i16.c: Regenerate.
      	* generated/iany_i2.c: Regenerate.
      	* generated/iany_i4.c: Regenerate.
      	* generated/iany_i8.c: Regenerate.
      	* generated/in_pack_c10.c: Regenerate.
      	* generated/in_pack_c16.c: Regenerate.
      	* generated/in_pack_c4.c: Regenerate.
      	* generated/in_pack_c8.c: Regenerate.
      	* generated/in_pack_i1.c: Regenerate.
      	* generated/in_pack_i16.c: Regenerate.
      	* generated/in_pack_i2.c: Regenerate.
      	* generated/in_pack_i4.c: Regenerate.
      	* generated/in_pack_i8.c: Regenerate.
      	* generated/in_pack_r10.c: Regenerate.
      	* generated/in_pack_r16.c: Regenerate.
      	* generated/in_pack_r4.c: Regenerate.
      	* generated/in_pack_r8.c: Regenerate.
      	* generated/in_unpack_c10.c: Regenerate.
      	* generated/in_unpack_c16.c: Regenerate.
      	* generated/in_unpack_c4.c: Regenerate.
      	* generated/in_unpack_c8.c: Regenerate.
      	* generated/in_unpack_i1.c: Regenerate.
      	* generated/in_unpack_i16.c: Regenerate.
      	* generated/in_unpack_i2.c: Regenerate.
      	* generated/in_unpack_i4.c: Regenerate.
      	* generated/in_unpack_i8.c: Regenerate.
      	* generated/in_unpack_r10.c: Regenerate.
      	* generated/in_unpack_r16.c: Regenerate.
      	* generated/in_unpack_r4.c: Regenerate.
      	* generated/in_unpack_r8.c: Regenerate.
      	* generated/iparity_i1.c: Regenerate.
      	* generated/iparity_i16.c: Regenerate.
      	* generated/iparity_i2.c: Regenerate.
      	* generated/iparity_i4.c: Regenerate.
      	* generated/iparity_i8.c: Regenerate.
      	* generated/maxloc0_16_i1.c: Regenerate.
      	* generated/maxloc0_16_i16.c: Regenerate.
      	* generated/maxloc0_16_i2.c: Regenerate.
      	* generated/maxloc0_16_i4.c: Regenerate.
      	* generated/maxloc0_16_i8.c: Regenerate.
      	* generated/maxloc0_16_r10.c: Regenerate.
      	* generated/maxloc0_16_r16.c: Regenerate.
      	* generated/maxloc0_16_r4.c: Regenerate.
      	* generated/maxloc0_16_r8.c: Regenerate.
      	* generated/maxloc0_4_i1.c: Regenerate.
      	* generated/maxloc0_4_i16.c: Regenerate.
      	* generated/maxloc0_4_i2.c: Regenerate.
      	* generated/maxloc0_4_i4.c: Regenerate.
      	* generated/maxloc0_4_i8.c: Regenerate.
      	* generated/maxloc0_4_r10.c: Regenerate.
      	* generated/maxloc0_4_r16.c: Regenerate.
      	* generated/maxloc0_4_r4.c: Regenerate.
      	* generated/maxloc0_4_r8.c: Regenerate.
      	* generated/maxloc0_8_i1.c: Regenerate.
      	* generated/maxloc0_8_i16.c: Regenerate.
      	* generated/maxloc0_8_i2.c: Regenerate.
      	* generated/maxloc0_8_i4.c: Regenerate.
      	* generated/maxloc0_8_i8.c: Regenerate.
      	* generated/maxloc0_8_r10.c: Regenerate.
      	* generated/maxloc0_8_r16.c: Regenerate.
      	* generated/maxloc0_8_r4.c: Regenerate.
      	* generated/maxloc0_8_r8.c: Regenerate.
      	* generated/maxloc1_16_i1.c: Regenerate.
      	* generated/maxloc1_16_i16.c: Regenerate.
      	* generated/maxloc1_16_i2.c: Regenerate.
      	* generated/maxloc1_16_i4.c: Regenerate.
      	* generated/maxloc1_16_i8.c: Regenerate.
      	* generated/maxloc1_16_r10.c: Regenerate.
      	* generated/maxloc1_16_r16.c: Regenerate.
      	* generated/maxloc1_16_r4.c: Regenerate.
      	* generated/maxloc1_16_r8.c: Regenerate.
      	* generated/maxloc1_4_i1.c: Regenerate.
      	* generated/maxloc1_4_i16.c: Regenerate.
      	* generated/maxloc1_4_i2.c: Regenerate.
      	* generated/maxloc1_4_i4.c: Regenerate.
      	* generated/maxloc1_4_i8.c: Regenerate.
      	* generated/maxloc1_4_r10.c: Regenerate.
      	* generated/maxloc1_4_r16.c: Regenerate.
      	* generated/maxloc1_4_r4.c: Regenerate.
      	* generated/maxloc1_4_r8.c: Regenerate.
      	* generated/maxloc1_8_i1.c: Regenerate.
      	* generated/maxloc1_8_i16.c: Regenerate.
      	* generated/maxloc1_8_i2.c: Regenerate.
      	* generated/maxloc1_8_i4.c: Regenerate.
      	* generated/maxloc1_8_i8.c: Regenerate.
      	* generated/maxloc1_8_r10.c: Regenerate.
      	* generated/maxloc1_8_r16.c: Regenerate.
      	* generated/maxloc1_8_r4.c: Regenerate.
      	* generated/maxloc1_8_r8.c: Regenerate.
      	* generated/maxval_i1.c: Regenerate.
      	* generated/maxval_i16.c: Regenerate.
      	* generated/maxval_i2.c: Regenerate.
      	* generated/maxval_i4.c: Regenerate.
      	* generated/maxval_i8.c: Regenerate.
      	* generated/maxval_r10.c: Regenerate.
      	* generated/maxval_r16.c: Regenerate.
      	* generated/maxval_r4.c: Regenerate.
      	* generated/maxval_r8.c: Regenerate.
      	* generated/minloc0_16_i1.c: Regenerate.
      	* generated/minloc0_16_i16.c: Regenerate.
      	* generated/minloc0_16_i2.c: Regenerate.
      	* generated/minloc0_16_i4.c: Regenerate.
      	* generated/minloc0_16_i8.c: Regenerate.
      	* generated/minloc0_16_r10.c: Regenerate.
      	* generated/minloc0_16_r16.c: Regenerate.
      	* generated/minloc0_16_r4.c: Regenerate.
      	* generated/minloc0_16_r8.c: Regenerate.
      	* generated/minloc0_4_i1.c: Regenerate.
      	* generated/minloc0_4_i16.c: Regenerate.
      	* generated/minloc0_4_i2.c: Regenerate.
      	* generated/minloc0_4_i4.c: Regenerate.
      	* generated/minloc0_4_i8.c: Regenerate.
      	* generated/minloc0_4_r10.c: Regenerate.
      	* generated/minloc0_4_r16.c: Regenerate.
      	* generated/minloc0_4_r4.c: Regenerate.
      	* generated/minloc0_4_r8.c: Regenerate.
      	* generated/minloc0_8_i1.c: Regenerate.
      	* generated/minloc0_8_i16.c: Regenerate.
      	* generated/minloc0_8_i2.c: Regenerate.
      	* generated/minloc0_8_i4.c: Regenerate.
      	* generated/minloc0_8_i8.c: Regenerate.
      	* generated/minloc0_8_r10.c: Regenerate.
      	* generated/minloc0_8_r16.c: Regenerate.
      	* generated/minloc0_8_r4.c: Regenerate.
      	* generated/minloc0_8_r8.c: Regenerate.
      	* generated/minloc1_16_i1.c: Regenerate.
      	* generated/minloc1_16_i16.c: Regenerate.
      	* generated/minloc1_16_i2.c: Regenerate.
      	* generated/minloc1_16_i4.c: Regenerate.
      	* generated/minloc1_16_i8.c: Regenerate.
      	* generated/minloc1_16_r10.c: Regenerate.
      	* generated/minloc1_16_r16.c: Regenerate.
      	* generated/minloc1_16_r4.c: Regenerate.
      	* generated/minloc1_16_r8.c: Regenerate.
      	* generated/minloc1_4_i1.c: Regenerate.
      	* generated/minloc1_4_i16.c: Regenerate.
      	* generated/minloc1_4_i2.c: Regenerate.
      	* generated/minloc1_4_i4.c: Regenerate.
      	* generated/minloc1_4_i8.c: Regenerate.
      	* generated/minloc1_4_r10.c: Regenerate.
      	* generated/minloc1_4_r16.c: Regenerate.
      	* generated/minloc1_4_r4.c: Regenerate.
      	* generated/minloc1_4_r8.c: Regenerate.
      	* generated/minloc1_8_i1.c: Regenerate.
      	* generated/minloc1_8_i16.c: Regenerate.
      	* generated/minloc1_8_i2.c: Regenerate.
      	* generated/minloc1_8_i4.c: Regenerate.
      	* generated/minloc1_8_i8.c: Regenerate.
      	* generated/minloc1_8_r10.c: Regenerate.
      	* generated/minloc1_8_r16.c: Regenerate.
      	* generated/minloc1_8_r4.c: Regenerate.
      	* generated/minloc1_8_r8.c: Regenerate.
      	* generated/minval_i1.c: Regenerate.
      	* generated/minval_i16.c: Regenerate.
      	* generated/minval_i2.c: Regenerate.
      	* generated/minval_i4.c: Regenerate.
      	* generated/minval_i8.c: Regenerate.
      	* generated/minval_r10.c: Regenerate.
      	* generated/minval_r16.c: Regenerate.
      	* generated/minval_r4.c: Regenerate.
      	* generated/minval_r8.c: Regenerate.
      	* generated/norm2_r10.c: Regenerate.
      	* generated/norm2_r16.c: Regenerate.
      	* generated/norm2_r4.c: Regenerate.
      	* generated/norm2_r8.c: Regenerate.
      	* generated/pack_c10.c: Regenerate.
      	* generated/pack_c16.c: Regenerate.
      	* generated/pack_c4.c: Regenerate.
      	* generated/pack_c8.c: Regenerate.
      	* generated/pack_i1.c: Regenerate.
      	* generated/pack_i16.c: Regenerate.
      	* generated/pack_i2.c: Regenerate.
      	* generated/pack_i4.c: Regenerate.
      	* generated/pack_i8.c: Regenerate.
      	* generated/pack_r10.c: Regenerate.
      	* generated/pack_r16.c: Regenerate.
      	* generated/pack_r4.c: Regenerate.
      	* generated/pack_r8.c: Regenerate.
      	* generated/parity_l1.c: Regenerate.
      	* generated/parity_l16.c: Regenerate.
      	* generated/parity_l2.c: Regenerate.
      	* generated/parity_l4.c: Regenerate.
      	* generated/parity_l8.c: Regenerate.
      	* generated/product_c10.c: Regenerate.
      	* generated/product_c16.c: Regenerate.
      	* generated/product_c4.c: Regenerate.
      	* generated/product_c8.c: Regenerate.
      	* generated/product_i1.c: Regenerate.
      	* generated/product_i16.c: Regenerate.
      	* generated/product_i2.c: Regenerate.
      	* generated/product_i4.c: Regenerate.
      	* generated/product_i8.c: Regenerate.
      	* generated/product_r10.c: Regenerate.
      	* generated/product_r16.c: Regenerate.
      	* generated/product_r4.c: Regenerate.
      	* generated/product_r8.c: Regenerate.
      	* generated/reshape_c10.c: Regenerate.
      	* generated/reshape_c16.c: Regenerate.
      	* generated/reshape_c4.c: Regenerate.
      	* generated/reshape_c8.c: Regenerate.
      	* generated/reshape_i16.c: Regenerate.
      	* generated/reshape_i4.c: Regenerate.
      	* generated/reshape_i8.c: Regenerate.
      	* generated/reshape_r10.c: Regenerate.
      	* generated/reshape_r16.c: Regenerate.
      	* generated/reshape_r4.c: Regenerate.
      	* generated/reshape_r8.c: Regenerate.
      	* generated/shape_i1.c: Regenerate.
      	* generated/shape_i16.c: Regenerate.
      	* generated/shape_i2.c: Regenerate.
      	* generated/shape_i4.c: Regenerate.
      	* generated/shape_i8.c: Regenerate.
      	* generated/spread_c10.c: Regenerate.
      	* generated/spread_c16.c: Regenerate.
      	* generated/spread_c4.c: Regenerate.
      	* generated/spread_c8.c: Regenerate.
      	* generated/spread_i1.c: Regenerate.
      	* generated/spread_i16.c: Regenerate.
      	* generated/spread_i2.c: Regenerate.
      	* generated/spread_i4.c: Regenerate.
      	* generated/spread_i8.c: Regenerate.
      	* generated/spread_r10.c: Regenerate.
      	* generated/spread_r16.c: Regenerate.
      	* generated/spread_r4.c: Regenerate.
      	* generated/spread_r8.c: Regenerate.
      	* generated/sum_c10.c: Regenerate.
      	* generated/sum_c16.c: Regenerate.
      	* generated/sum_c4.c: Regenerate.
      	* generated/sum_c8.c: Regenerate.
      	* generated/sum_i1.c: Regenerate.
      	* generated/sum_i16.c: Regenerate.
      	* generated/sum_i2.c: Regenerate.
      	* generated/sum_i4.c: Regenerate.
      	* generated/sum_i8.c: Regenerate.
      	* generated/sum_r10.c: Regenerate.
      	* generated/sum_r16.c: Regenerate.
      	* generated/sum_r4.c: Regenerate.
      	* generated/sum_r8.c: Regenerate.
      	* generated/unpack_c10.c: Regenerate.
      	* generated/unpack_c16.c: Regenerate.
      	* generated/unpack_c4.c: Regenerate.
      	* generated/unpack_c8.c: Regenerate.
      	* generated/unpack_i1.c: Regenerate.
      	* generated/unpack_i16.c: Regenerate.
      	* generated/unpack_i2.c: Regenerate.
      	* generated/unpack_i4.c: Regenerate.
      	* generated/unpack_i8.c: Regenerate.
      	* generated/unpack_r10.c: Regenerate.
      	* generated/unpack_r16.c: Regenerate.
      	* generated/unpack_r4.c: Regenerate.
      	* generated/unpack_r8.c: Regenerate.
      
      From-SVN: r243844
      Francois-Xavier Coudert committed
    • re PR libfortran/70311 (libgfortran build dies on "implicit declaration of function strncasecmp") · 71d9113f
      	PR libfortran/70311
      	* intrinsics/selected_char_kind.c: Include <strings.h> header.
      	* runtime/environ.c: Include <strings.h> header.
      	* runtime/string.c: Include <strings.h> header.
      
      From-SVN: r243843
      Francois-Xavier Coudert committed
    • iresolve.c (gfc_resolve_ftell): Call "ftell" instead of "ftell2". · f7db9ebf
      	* iresolve.c (gfc_resolve_ftell): Call "ftell" instead of "ftell2".
      
      	* gfortran.map: Remove _gfortran_ftell2.
      	* io/intrinsics.c (ftell): Remove.
      	(ftell2): Rename to ftell.
      
      From-SVN: r243841
      Francois-Xavier Coudert committed
    • gfortran.map: Move all _gfortran_* __iso_c_binding_* symbols to GFORTRAN_7. · 815ee974
      	* gfortran.map: Move all _gfortran_* __iso_c_binding_* symbols
      	to GFORTRAN_7. Rename F2C_1.0 to GFORTRAN_F2C_7. Move all C99
      	compatibility symbols to GFORTRAN_C99_7.
      
      From-SVN: r243839
      Francois-Xavier Coudert committed
  18. 19 Dec, 2016 8 commits
    • trans-decl.c (create_main_function): Remove unused elements to the set_options call. · 75b07bb4
      	* trans-decl.c (create_main_function): Remove unused elements to
      	the set_options call.
      
      	* runtime/compile_options.c (set_options): Remove unused elements.
      
      From-SVN: r243814
      Francois-Xavier Coudert committed
    • Remove unused functions, take 2. · 4daecdb6
      2016-12-19  Janne Blomqvist  <jb@gcc.gnu.org>
      
            * Actually remove files that should have been removed by r243799.
      This line, and those below, will be ignored--
      
      M    libgfortran/ChangeLog
      D    libgfortran/generated/exponent_r10.c
      D    libgfortran/generated/exponent_r16.c
      D    libgfortran/generated/exponent_r4.c
      D    libgfortran/generated/exponent_r8.c
      D    libgfortran/generated/fraction_r10.c
      D    libgfortran/generated/fraction_r16.c
      D    libgfortran/generated/fraction_r4.c
      D    libgfortran/generated/fraction_r8.c
      D    libgfortran/generated/nearest_r10.c
      D    libgfortran/generated/nearest_r16.c
      D    libgfortran/generated/nearest_r4.c
      D    libgfortran/generated/nearest_r8.c
      D    libgfortran/generated/rrspacing_r10.c
      D    libgfortran/generated/rrspacing_r16.c
      D    libgfortran/generated/rrspacing_r4.c
      D    libgfortran/generated/rrspacing_r8.c
      D    libgfortran/generated/set_exponent_r10.c
      D    libgfortran/generated/set_exponent_r16.c
      D    libgfortran/generated/set_exponent_r4.c
      D    libgfortran/generated/set_exponent_r8.c
      D    libgfortran/generated/spacing_r10.c
      D    libgfortran/generated/spacing_r16.c
      D    libgfortran/generated/spacing_r4.c
      D    libgfortran/generated/spacing_r8.c
      D    libgfortran/generated/transpose_c10.c
      D    libgfortran/generated/transpose_c16.c
      D    libgfortran/generated/transpose_c4.c
      D    libgfortran/generated/transpose_c8.c
      D    libgfortran/generated/transpose_i16.c
      D    libgfortran/generated/transpose_i4.c
      D    libgfortran/generated/transpose_i8.c
      D    libgfortran/generated/transpose_r10.c
      D    libgfortran/generated/transpose_r16.c
      D    libgfortran/generated/transpose_r4.c
      D    libgfortran/generated/transpose_r8.c
      D    libgfortran/intrinsics/malloc.c
      D    libgfortran/intrinsics/transpose_generic.c
      D    libgfortran/m4/exponent.m4
      D    libgfortran/m4/fraction.m4
      D    libgfortran/m4/nearest.m4
      D    libgfortran/m4/rrspacing.m4
      D    libgfortran/m4/set_exponent.m4
      D    libgfortran/m4/spacing.m4
      D    libgfortran/m4/transpose.m4
      
      From-SVN: r243804
      Janne Blomqvist committed
    • trans.h: Remove gfor_fndecl_stop_numeric_f08. · 03506f8c
      	* trans.h: Remove gfor_fndecl_stop_numeric_f08.
      	* trans-decl.c: Remove gfor_fndecl_stop_numeric_f08.
      	* trans-stmt.c (gfc_trans_stop): Use gfor_fndecl_stop_numeric
      	instead of gfor_fndecl_stop_numeric_f08.
      
      	* gfortran.map: Remove _gfortran_stop_numeric_f08.
      	* runtime/stop.c: Rename stop_numeric_f08 into stop_numeric.
      
      From-SVN: r243803
      Francois-Xavier Coudert committed
    • * Makefile.in: Regenerate. · c52b53d6
      From-SVN: r243802
      François-Xavier Coudert committed
    • Makefile.am: Remove ISO_C_BINDING runtime functions. · adc905cd
      	* Makefile.am: Remove ISO_C_BINDING runtime functions.
      	* Makefile.in: Regenerate.
      	* gfortran.map: Remove all __iso_c_binding_c_f_pointer_* symbols.
      	* intrinsics/iso_c_binding.h: Remove.
      	* intrinsics/iso_c_binding.c: Remove.
      	* intrinsics/iso_c_generated_procs.c: Remove.
      
      From-SVN: r243801
      Francois-Xavier Coudert committed
    • Makefile.am: Remove intrinsics/bit_intrinsics.c. · bed192f4
      	* Makefile.am: Remove intrinsics/bit_intrinsics.c.
      	* Makefile.in: Regenerate.
      	* gfortran.map: Remove _gfortran_clz128 and _gfortran_ctz128.
      	* intrinsics/bit_intrinsics.c: Remove.
      
      From-SVN: r243800
      Francois-Xavier Coudert committed
    • Remove unused libgfortran functions · 7e294024
      Now that the libgfortran ABI major version has been bumped, we can
      remove functions for which the frontend nowadays generates inline
      code.
      
      This removes the malloc, free, exponent, fraction, nearest, rrspacing,
      spacing, set_exponent and transpose intrinsics. Also the unused
      store_exe_path function is removed.
      
      2016-12-19  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* Makefile.am: Remove exponent, fraction, nearest, rrspacing,
      	set_exponent, spacing, transpose, malloc, transpose_generic.
      	* Makefile.in: Regenerate.
      	* generated/exponent_r10.c: Remove.
      	* generated/exponent_r16.c: Remove.
      	* generated/exponent_r4.c: Remove.
      	* generated/exponent_r8.c: Remove.
      	* generated/fraction_r10.c: Remove.
      	* generated/fraction_r16.c: Remove.
      	* generated/fraction_r4.c: Remove.
      	* generated/fraction_r8.c: Remove.
      	* generated/nearest_r10.c: Remove.
      	* generated/nearest_r16.c: Remove.
      	* generated/nearest_r4.c: Remove.
      	* generated/nearest_r8.c: Remove.
      	* generated/rrspacing_r10.c: Remove.
      	* generated/rrspacing_r16.c: Remove.
      	* generated/rrspacing_r4.c: Remove.
      	* generated/rrspacing_r8.c: Remove.
      	* generated/set_exponent_r10.c: Remove.
      	* generated/set_exponent_r16.c: Remove.
      	* generated/set_exponent_r4.c: Remove.
      	* generated/set_exponent_r8.c: Remove.
      	* generated/spacing_r10.c: Remove.
      	* generated/spacing_r16.c: Remove.
      	* generated/spacing_r4.c: Remove.
      	* generated/spacing_r8.c: Remove.
      	* generated/transpose_c10.c: Remove.
      	* generated/transpose_c16.c: Remove.
      	* generated/transpose_c4.c: Remove.
      	* generated/transpose_c8.c: Remove.
      	* generated/transpose_i16.c: Remove.
      	* generated/transpose_i4.c: Remove.
      	* generated/transpose_i8.c: Remove.
      	* generated/transpose_r10.c: Remove.
      	* generated/transpose_r16.c: Remove.
      	* generated/transpose_r4.c: Remove.
      	* generated/transpose_r8.c: Remove.
      	* gfortran.map: Remove exponent, fraction, nearest, rrspacing,
      	set_exponent, spacing, transpose, malloc, free, transpose_generic,
      	store_exe_path.
      	* intrinsics/malloc.c: Remove.
      	* intrinsics/transpose_generic.c: Remove.
      	* libgfortran.h (store_exe_path): Remove.
      	* m4/exponent.m4: Remove.
      	* m4/fraction.m4: Remove.
      	* m4/nearest.m4: Remove.
      	* m4/rrspacing.m4: Remove.
      	* m4/set_exponent.m4: Remove.
      	* m4/spacing.m4: Remove.
      	* m4/transpose.m4: Remove.
      	* runtime/main.c (store_exe_path): Remove.
      
      From-SVN: r243799
      Janne Blomqvist committed
    • chmod.c (chmod_internal): Fix case where mode_t is different from unsigned int. · dc31c238
      	* intrinsics/chmod.c (chmod_internal): Fix case where mode_t is
      	different from unsigned int.
      
      From-SVN: r243796
      Francois-Xavier Coudert committed
  19. 18 Dec, 2016 1 commit
  20. 16 Dec, 2016 1 commit
    • re PR fortran/78662 ([F03] Incorrect parsing of quotes in the… · 5cdc4b0e
      re PR fortran/78662 ([F03] Incorrect parsing of quotes in the char-literal-constant of the DT data descriptor)
      
      2016-12-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/78622
      	* io.c (format_lex): Continue of string delimiter seen.
      
      	* io/transfer.c (get_dt_format): New static function to alloc
      	and set the DT iotype string, handling doubled quotes.
      	(formatted_transfer_scalar_read,
      	formatted_transfer_scalar_write): Use new function.
      
      	* gfortran.dg/dtio_20.f03: New test.
      
      From-SVN: r243765
      Jerry DeLisle committed
  21. 12 Dec, 2016 1 commit
    • Disable hwcaps on libgfortran · 66dbcf2d
      	libgfortran:
      	* configure.ac: Call GCC_CHECK_LINKER_HWCAP.
      	* Makefile.am (libgfortran_la_LDFLAGS): Add HWCAP_LDFLAGS.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* Makefile.in: Regenerate.
      
      	config:
      	* hwcaps.m4: New file.
      
      	libitm:
      	* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Remove.
      	* aclocal.m4: Regenerate.
      	* configure.ac: Call GCC_CHECK_LINKER_HWCAP instead of
      	LIBITM_CHECK_LINKER_HWCAP.
      
      From-SVN: r243552
      Rainer Orth committed
  22. 03 Dec, 2016 1 commit
    • re PR libfortran/78379 (Processor-specific versions for matmul) · 31cfd832
      2016-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
              PR fortran/78379
              * config/i386/cpuinfo.c:  Move denums for processor vendors,
              processor type, processor subtypes and declaration of
              struct __processor_model into
              * config/i386/cpuinfo.h:  New header file.
              * Makefile.am:  Add dependence of m4/matmul_internal_m4 to
              mamtul files..
              * Makefile.in:  Regenerated.
              * acinclude.m4:  Check for AVX, AVX2 and AVX512F.
              * config.h.in:  Add HAVE_AVX, HAVE_AVX2 and HAVE_AVX512F.
              * configure:  Regenerated.
              * configure.ac:  Use checks for AVX, AVX2 and AVX_512F.
              * m4/matmul_internal.m4:  New file. working part of matmul.m4.
              * m4/matmul.m4:  Implement architecture-specific switching
              for AVX, AVX2 and AVX512F by including matmul_internal.m4
              multiple times.
              * generated/matmul_c10.c: Regenerated.
              * generated/matmul_c16.c: Regenerated.
              * generated/matmul_c4.c: Regenerated.
              * generated/matmul_c8.c: Regenerated.
              * generated/matmul_i1.c: Regenerated.
              * generated/matmul_i16.c: Regenerated.
              * generated/matmul_i2.c: Regenerated.
              * generated/matmul_i4.c: Regenerated.
              * generated/matmul_i8.c: Regenerated.
              * generated/matmul_r10.c: Regenerated.
              * generated/matmul_r16.c: Regenerated.
              * generated/matmul_r4.c: Regenerated.
              * generated/matmul_r8.c: Regenerated.
      
      From-SVN: r243219
      Thomas Koenig committed