-2017-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+2018-01-06 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * io/write.c (namelist_write): Remove unused variable "i".
+
+2018-01-06 Dominique d'Humieres <dominiq@lps.ens.fr>
+ Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/83704
+ * io/write.c (write_character): Use size_t instead of int for
+ length.
+
+2018-01-05 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.
+
+2018-01-03 Jakub Jelinek <jakub@redhat.com>
- 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.
-
-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.
-
-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.
-
-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.
-
-2017-02-27 Janne Blomqvist <jb@gcc.gnu.org>
-
- * intrinsics/random.c (getosrandom): Don't try to use rand_s on
- CYGWIN.
-
-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-01-31 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/79305
- * c99_protos.h: Spell HAVE_EXPL correctly.
- * intrinsics/c99_functions.c: Ditto.
-
-2017-01-19 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/78478
- * acinclude.m4: Include ../config/ax_check_define.m4
- * configure.ac: Check if _SOFT_FLOAT is defined.
- * configure.host (i?86 | x86_64): Use fpu-generic when
- have_soft_float is set.
- * configure: Regenerate.
-
-2017-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR target/79127
- * acinclude.m4 (LIBGFOR_CHECK_AVX512F): Ensure the test clobbers
- some zmm16+ registers to verify they are handled by unwind info
- properly if needed.
- * configure: Regenerated.
-
-2017-01-17 Jakub Jelinek <jakub@redhat.com>
-
- PR other/79046
- * 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.
-
-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.
-
-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.
+ Update copyright years.
-2017-01-01 Jakub Jelinek <jakub@redhat.com>
+2018-01-02 Janne Blomqvist <jb@gcc.gnu.org>
- Update copyright years.
+ PR libgfortran/83649
+ * io/unix.c (MAX_CHUNK): New define.
+ (raw_read): For reads larger than MAX_CHUNK, loop.
+ (raw_write): Write no more than MAX_CHUNK bytes per iteration.
\f
-Copyright (C) 2017 Free Software Foundation, Inc.
+Copyright (C) 2018 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright