view libgfortran/ChangeLog-2014 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
line wrap: on
line source

2014-11-28  Bernd Schmidt  <>

	(gfor_io_src, gfor_heper_src, gfor_src): Split into minimal and
	always included sources.
	* Regenerate.
	* configure: Regenerate.
	* caf/single.c (caf_runtime_error): Don't print messages if
	* runtime/compile_options.c (fatal_error_in_progress,
	show_signal, backtrace_handler, maybe_find_addr2line): Guard with
	(set_options): Likewise for the backtrace code.
	* runtime/minimal.c: New file.

2014-11-25  Uros Bizjak  <>

	* intrinsics/env.c (getenv): Remove unused variable res_len.

2014-11-24  John David Anglin  <>

	* Guard include of <ieeefp.h>.
	* configure: Rebuilt.

2014-11-21  H.J. Lu  <>

	PR bootstrap/63784
	* configure: Regenerated.

2014-11-16  Janne Blomqvist  <>

	PR libfortran/60324
	* intrinsics/random.c (kiss_size): Rename to KISS_SIZE, make it a
	macro instead of a variable.
	(random_seed_i4): Make seed correct size, remove assert, KISS_SIZE
	related changes.
	(random_seed_i8): KISS_SIZE related changes.

2014-11-13  Marek Polacek  <>

	* intrinsics/access.c: Include <stdlib.h>.
	* intrinsics/chdir.c: Likewise.
	* intrinsics/chmod.c: Likewise.
	* intrinsics/link.c: Likewise.
	* intrinsics/perror.c: Likewise.
	* intrinsics/rename.c: Likewise.
	* intrinsics/symlnk.c: Likewise.
	* intrinsics/unlink.c: Likewise.

2014-11-13  Janne Blomqvist  <>

	PR libfortran/60324
	* configure: Regenerated.
	* (AM_CFLAGS): Add Werror=vla.
	* libgfortran.h (gfc_alloca): Remove macro.
	(fc_strdup_notrim): New prototype.
	* intrinsics/access.c (access_func): Use fc_strdup rather than
	stack allocation.
	* intrinsics/chdir.c (chdir_i4_sub): Likewise.
	(chdir_i8_sub): Likewise.
	* intrinsics/chmod.c (chmod_internal): New function, move logic
	(chmod_func): Call chmod_internal.
	* intrinsics/env.c (getenv): Use fc_strdup rather than stack
	(get_environment_variable_i4): Likewise.
	* intrinsics/execute_command_line.c (execute_command_line):
	* intrinsics/hostnm.c (hostnm_0): New function, use static buffer
	rather than VLA.
	(hostnm_i4_sub): Call hostnm_0.
	(hostnm_i8_sub): Likewise.
	(hostnm): Likewise.
	* intrinsics/link.c (link_internal): New function, use fc_strdup
	rather than stack allocation.
	(link_i4_sub): Call link_internal.
	(link_i8_sub): Likewise.
	(link_i4): Likewise.
	(link_i8): Likewise.
	* intrinsics/perror.c (perror_sub): Use fc_strdup rather than
	stack allocation.
	* intrinsics/random.c (random_seed_i4): Use static buffer rather
	than VLA, use _Static_assert to make sure it's big enough.
	* intrinsics/rename.c (rename_internal): New function, use
	fc_strdup rather than stack allocation.
	(rename_i4_sub): Call rename_internal.
	(rename_i8_sub): Likewise.
	(rename_i4): Likewise.
	(rename_i8): Likewise.
	* intrinsics/stat.c (stat_i4_sub_0): Use fc_strdup rather than
	stack allocation.
	(stat_i8_sub_0): Likewise.
	* intrinsics/symlink.c (symlnk_internal): New function, use
	fc_strdup rather than stack allocation.
	(symlnk_i4_sub): Call symlnk_internal.
	(symlnk_i8_sub): Likewise.
	(symlnk_i4): Likewise.
	(symlnk_i8): Likewise.
	* intrinsics/system.c (system_sub): Use fc_strdup rather than
	stack allocation.
	* intrinsics/unlink.c (unlink_i4_sub): Likewise.
	* io/file_pos.c (READ_CHUNK): Make it a macro rather than variable.
	* io/list_read.c (nml_get_obj_data): Use fixed stack buffer, fall
	back to xmalloc/free for large sizes.
	* io/read.c (read_f): Likewise.
	* io/transfer.c (MAX_READ): Make it a macro rather than variable.
	(WRITE_CHUNK): Likewise.
	* io/write_float.def (write_float): Use fixed stack buffer, fall
	back to xmalloc/free for large sizes.
	* runtime/string.c (fc_strdup_notrim): New function.

2014-11-11  Francois-Xavier Coudert  <>

	PR target/63610
	* configure: Regenerate.

2014-11-10  Janne Blomqvist  <>

	PR libfortran/47007
	PR libfortran/61847
	* Regenerated.
	* configure: Regenerated.
	* (AC_CHECK_HEADERS_ONCE): Check for xlocale.h.
	(AC_CHECK_FUNCS_ONCE): Check for newlocale, freelocale, uselocale,
	* io/io.h (locale.h): Include.
	(xlocale.h): Include if present.
	(c_locale): New variable.
	(old_locale): New variable.
	(old_locale_ctr): New variable.
	(old_locale_lock): New variable.
	(st_parameter_dt): Add old_locale member.
	* io/transfer.c (data_transfer_init): Set locale to "C" if doing
	formatted transfer.
	(finalize_transfer): Reset locale to previous.
	* io/unit.c (c_locale): New variable.
	(old_locale): New variable.
	(old_locale_ctr): New variable.
	(old_locale_lock): New variable.
	(init_units): Init c_locale, init old_locale_lock.
	(close_units): Free c_locale.
	* runtime/error.c (locale.h): Include.
	(xlocale.h): Include if present.
	(gf_strerror): Use strerror_l if available. Reset locale to
	LC_GLOBAL_LOCALE for strerror_r branch.

2014-10-20  Janne Blomqvist  <>

	PR libfortran/63589
	* Check for strtok_r.
	* runtime/main.c (gfstrtok_r): Fallback implementation of
	(find_addr2line): Use strtok_r to split PATH.
	* Regenerated.
	* configure: Regenerated.

2014-10-09  Francois-Xavier Coudert  <>

	* ieee/ieee_helper.c (ieee_is_finite_*, ieee_is_nan_*,
	ieee_is_negative_*, ieee_is_normal_*, ieee_copy_sign_*,
	ieee_unordered_*, ieee_logb_*, ieee_rint_*, ieee_scalb_*,
	ieee_rem_*, ieee_next_after_*): Remove functions.
	* (GFORTRAN_1.5): Remove corresponding symbols.

2014-10-05  Jerry DeLisle  <>

	PR libgfortran/63460
	* io/unit.c (init_units): Initialize the DELIM flag to
	UNSPECIFIED for the STDIN unit so that the flag is
	correctly set later.

2014-10-01  Janne Blomqvist  <>

	* intrinsics/pack_generic.c (pack_s_internal): Fix
	-Wmaybe-uninitialized warning.
	* m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
	(unpack1_'rtype_code`): Likewise.
	* generated/unpack_*.m4: Regenerated.

2014-09-30  Janne Blomqvist  <>

	* (AM_CFLAGS): Add
	* Regenerated.
	* aclocal.m4: Regenerated.
	* configure: Regenerated.

2014-09-25  Tobias Burnus  <>

	* caf/libcaf.h (_gfortran_caf_co_broadcast): New prototype.
	* caf/single.c (_gfortran_caf_co_broadcast): New.

2014-09-18  Janne Blomqvist  <>

	PR libfortran/62768
	* io/inquire.c (inquire_via_unit): Use gfc_unit.filename also when
	HAVE_TTYNAME{_R} is not defined.

2014-09-17  Janne Blomqvist  <>

	PR libfortran/62768
	* io/io.h (gfc_unit): Store C string for the filename.
	* io/close.c (st_close): Use gfc_unit.filename.
	* io/inquire.c (inquire_via_unit): Likewise.
	* io/open.c (new_unit): Likewise.
	(already_open): Likewise, unlink file before freeing filename.
	* io/unit.c (init_units): Likewise.
	(close_unit_1): Likewise.
	(filename_from_unit): Likewise.
	* io/unix.c (compare_file_filename): Likewise.
	(find_file0): Likewise.
	(delete_file): Likewise.

2014-09-10  Janne Blomqvist  <>

	* io/transfer.c (read_block_form): Fix pad status check (found by
	Thomas Schwinge with -Wlogical-not-parentheses).

2014-08-31  Tobias Burnus  <>

	* caf/libcaf.h (_gfortran_caf_send, _gfortran_caf_get,
	_gfortran_caf_sendget): Update prototype.
	* caf/single.c (_gfortran_caf_send, _gfortran_caf_get,
	_gfortran_caf_sendget): Handle may_require_tmp.

2014-08-20  Steven G. Kargl  <>

	PR libgfortran/62188
	* m4/bessel.m4: Avoid indexing off the end of an array.
	* generated/bessel_r10.c: Regenerated.
	* generated/bessel_r16.c: Ditto.
	* generated/bessel_r4.c: Ditto.
	* generated/bessel_r8.c: Ditto.

2014-08-14  Tobias Burnus  <>

	* caf/libcaf.h (caf_register_t): Update for critical.
	(_gfortran_caf_critical, _gfortran_caf_end_critical): Remove.
	(_gfortran_caf_lock, _gfortran_caf_unlock): Add.
	* caf/single.c (_gfortran_caf_register): Handle locking
	(_gfortran_caf_sendget): Re-name args for consistency.
	(_gfortran_caf_lock, _gfortran_caf_unlock): Add.

2014-08-04  Jakub Jelinek  <>

	* runtime/memory.c (xmallocarray): Avoid division for the common case.

2014-07-20  Jerry DeLisle  <>

	PR libgfortran/61632
	* io/format.c (format_error): Avoid invalid string pointer by
	using the fortran string length values to generate error string.
	(parse_format): Allocate the null terminator for the format

2014-07-12  Tobias Burnus  <>

	* caf/libcaf.h (_gfortran_caf_atomic_define,
	_gfortran_caf_atomic_ref, _gfortran_caf_atomic_op,
	_gfortran_caf_atomic_cas): New prototypes.
	* caf/single.c (_gfortran_caf_atomic_define,
	_gfortran_caf_atomic_ref, _gfortran_caf_atomic_op,
	_gfortran_caf_atomic_cas): New functions.

2014-07-10  Francois-Xavier Coudert  <>

	* config/fpu-*.h (get_fpu_rounding_mode, set_fpu_rounding_mode,
	support_fpu_rounding_mode): Clean up, mark unreachable code as such.

2014-07-09  Francois-Xavier Coudert  <>

	* libgfortran.h (support_fpu_underflow_control,
	get_fpu_underflow_mode, set_fpu_underflow_mode): New prototypes.
	* config/fpu-*.h (support_fpu_underflow_control,
	get_fpu_underflow_mode, set_fpu_underflow_mode):
	New functions.
	* ieee/ieee_arithmetic.F90: Support underflow control.

2014-07-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/fpu-sysv.h (get_fpu_rounding_mode): Use FP_RN, FP_RP,
	FP_RM, FP_RZ unconditionally.
	(set_fpu_rounding_mode): Likewise.

2014-07-07  Francois-Xavier Coudert  <>

	* libgfortran.h: Assume __GNUC__.

2014-07-07  Francois-Xavier Coudert  <>

	* runtime/stop.c: Use C11 _Noreturn.
	* libgfortran.h: Use C11 _Noreturn in prototypes.
	* intrinsics/c99_functions.c: ... here.

2014-07-07  Francois-Xavier Coudert  <>

	* config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h,
	config/fpu-glibc.h: Use static assertions.

2014-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure, Regenerate.
	* config/fpu-sysv.h: Include <assert.h>.

2014-07-02  Francois-Xavier Coudert  <>

	* config/fpu-glibc.h: Fix comment about FE_DENORMAL.

2014-07-02  Uros Bizjak  <>

	* (ieee_flags): Add -mieee for alpha*.

	* config/fpu-glibc.h (support_fpu_rounding_mode): Correctly handle
	* config/fpu-aix.h (support_fpu_rounding_mode): Ditto.

2014-06-29  Francois-Xavier Coudert  <>

	* config/fpu-387.h (my_fenv_t): Amend structure so it also works
	on mingw32.

2014-06-28  Jerry DeLisle  <>

	PR libgfortran/61640
	* io/list_read.c (next_char_internal): Adjust the read length to
	a single wide character. (eat_spaces): Add missing paren.
	* io/unix.c (mem_read4): Use the correct mem_alloc function for
	wide character internal reads.

2014-06-28  Francois-Xavier Coudert  <>

	PR fortran/29383
	* Add checks for IEEE support, rework priorities.
	* Define IEEE_SUPPORT, check for fpsetsticky and
	* configure: Regenerate.
	* Build new ieee files, install IEEE_* modules.
	* Regenerate.
	* (GFORTRAN_1.6): Add new symbols.
	* libgfortran.h (get_fpu_trap_exceptions, set_fpu_trap_exceptions,
	support_fpu_trap, set_fpu_except_flags, support_fpu_flag,
	support_fpu_rounding_mode, get_fpu_state, set_fpu_state): New
	* config/fpu-*.h (get_fpu_trap_exceptions,
	set_fpu_trap_exceptions, support_fpu_trap, set_fpu_except_flags,
	support_fpu_flag, support_fpu_rounding_mode, get_fpu_state,
	set_fpu_state): New functions.
	* ieee/ieee_features.F90: New file.
	* ieee/ieee_exceptions.F90: New file.
	* ieee/ieee_arithmetic.F90: New file.
	* ieee/ieee_helper.c: New file.

2014-06-26  Jerry DeLisle  <>

	PR libgfortran/61499
	* io/list_read.c (eat_spaces): Use a 'for' loop instead of
	'while' loop to skip the loop if there are no bytes left in the
	string. Only seek if actual spaces can be skipped.

2014-06-25  Tobias Burnus  <>

	* caf/single.c (assign_char4_from_char1, assign_char1_from_char4,
	convert_type): New static functions.
	(_gfortran_caf_get, _gfortran_caf_send): Use them.

2014-06-19  Tobias Burnus  <>

	* caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
	_gfortran_caf_co_min): Fix stat setting.

2014-06-17  Tobias Burnus  <>

	* caf/libcaf.h (gfc_descriptor_t): New typedef.
	(caf_vector_t): Update.
	(_gfortran_caf_co_sum, _gfortran_caf_co_max, _gfortran_caf_co_min):
	Remove vector-subscript argument.
	(_gfortran_caf_co_send, _gfortran_caf_co_get,
	_gfortran_caf_co_sendget): New.
	* caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
	_gfortran_caf_co_min): Remove vector-subscript argument.
	(_gfortran_caf_co_send, _gfortran_caf_co_get,
	_gfortran_caf_co_sendget): New.

2014-06-17  Janne Blomqvist  <>

	* libgfortran.h (xmallocarray): New prototype.
	* runtime/memory.c (xmallocarray): New function.
	(xcalloc): Check for nonzero separately instead of multiplying.
	* generated/*.c: Regenerated.
	* intrinsics/cshift0.c (cshift0): Call xmallocarray instead of
	* intrinsics/eoshift0.c (eoshift0): Likewise.
	* intrinsics/eoshift2.c (eoshift2): Likewise.
	* intrinsics/pack_generic.c (pack_internal): Likewise.
	(pack_s_internal): Likewise.
	* intrinsics/reshape_generic.c (reshape_internal): Likewise.
	* intrinsics/spread_generic.c (spread_internal): Likewise.
	(spread_internal_scalar): Likewise.
	* intrinsics/string_intrinsics_inc.c (string_trim): Likewise.
	(string_minmax): Likewise.
	* intrinsics/transpose_generic.c (transpose_internal): Likewise.
	* intrinsics/unpack_generic.c (unpack_internal): Likewise.
	* io/list_read.c (nml_touch_nodes): Don't cast xmalloc return value.
	* io/transfer.c (st_set_nml_var): Call xmallocarray instead of
	* io/unit.c (get_internal_unit): Likewise.
	(filename_from_unit): Don't cast xmalloc return value.
	* io/write.c (nml_write_obj): Likewise, formatting.
	* m4/bessel.m4 (bessel_jn_r'rtype_kind`): Call xmallocarray
	instead of xmalloc.
	(besse_yn_r'rtype_kind`): Likewise.
	* m4/cshift1.m4 (cshift1): Likewise.
	* m4/eoshift1.m4 (eoshift1): Likewise.
	* m4/eoshift3.m4 (eoshift3): Likewise.
	* m4/iforeach.m4: Likewise.
	* m4/ifunction.m4: Likewise.
	* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code):
	* m4/in_pack.m4 (internal_pack_'rtype_ccode`): Likewise.
	* m4/matmul.m4 (matmul_'rtype_code`): Likewise.
	* m4/matmull.m4 (matmul_'rtype_code`): Likewise.
	* m4/pack.m4 (pack_'rtype_code`): Likewise.
	* m4/reshape.m4 (reshape_'rtype_ccode`): Likewise.
	* m4/shape.m4 (shape_'rtype_kind`): Likewise.
	* m4/spread.m4 (spread_'rtype_code`): Likewise.
	(spread_scalar_'rtype_code`): Likewise.
	* m4/transpose.m4 (transpose_'rtype_code`): Likewise.
	* m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
	(unpack1_'rtype_code`): Likewise.
	* runtime/convert_char.c (convert_char1_to_char4): Likewise.
	(convert_char4_to_char1): Simplify.
	* runtime/environ.c (init_unformatted): Call xmallocarray instead
	of xmalloc.
	* runtime/in_pack_generic.c (internal_pack): Likewise.

2014-06-15  Francois-Xavier Coudert  <>

	PR libfortran/60468
	* Include <math.h> when checking for fp_except_t
	and fp_rnd_t types.
	* configure: Regenerate.

2014-06-08  Janne Blomqvist  <>

	PR libfortran/56981
	* io/unix.h (struct stream_vtable): Add new member function,
	(smarkeor): New inline function.
	(flush_if_unbuffered): Remove prototype.
	* io/unix.c (raw_markeor): New function.
	(raw_vtable): Initialize markeor member.
	(buf_markeor): New function.
	(buf_vtable): Initialize markeor member.
	(mem_vtable): Likewise.
	(mem4_vtable): Likewise.
	(flush_if_unbuffered): Remove function.
	* io/transfer.c (next_record): Call smarkeor instead of

2014-05-27  Uros Bizjak  <>

	* intrinsics/getcwd.c: Include stdlib.h.

2014-05-26  Janne Blomqvist  <>

	* libgfortran.h (xrealloc): New prototype.
	* runtime/memory.c (xrealloc): New function.
	* io/fbuf.c (fbuf_alloc): Use xrealloc.
	* io/list_read.c (push_char_default): Likewise.
	(push_char4): Likewise.

2014-05-26  Janne Blomqvist  <>

	PR libfortran/61310
	* intrinsics/ctime.c (strctime): Rename to gf_ctime, use snprintf
	instead of strftime.
	(fdate): Use gf_ctime.
	(fdate_sub): Likewise.
	(ctime): Likewise.
	(ctime_sub): Likewise.

2014-05-26  Jerry DeLisle  <>

	PR libgfortran/55117
	* io/list_read.c (extended_look_ahead): New helper function to
	scan the namelist name and look for matches with the new '+'
	extended type parent indicator.  (str_comp_extended): New
	helper function to compare the namelist name with the varname
	namelist. (find_nml_name): Use the new helper functions to match
	the extended type varnames.

2014-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/61173
	* io/list_read.c (eat_spaces): If the next character pointed to
	is a space, don't seek, must be at the end.

2014-05-23  Hans-Peter Nilsson  <>

	* [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define.
	* configure: Regenerate.

2014-05-23  Janne Blomqvist  <>

	PR libfortran/60324
	* runtime/string.c: Include stdlib.h.

2014-05-22  Janne Blomqvist  <>

	PR libfortran/60324
	* Regenerated.
	* configure: Regenerated.
	* (AC_CHECK_FUNCS_ONCE): Check for strnlen and
	* libgfortran.h (fc_strdup): New prototype.
	* runtime/string.c (strnlen): New fallback function.
	(strndup): New fallback function.
	(fc_strdup): New function.
	* io/close.c (st_close): Use fc_strdup.
	* io/open.c (new_unit): Likewise.
	(already_open): Likewise.
	* io/unit.c (filename_from_unit): Likewise.
	* io/unix.c (unpack_filename): Remove function.
	(regular_file): Rename to regular_file2, add path argument.
	(regular_file): New function calling regular_file2.
	(compare_file_filename): Use fc_strdup.
	(find_file): Likewise.
	(delete_file): Likewise.
	(file_exists): Likewise.
	(file_size): Likewise.
	(inquire_sequential): Likewise.
	(inquire_direct): Likewise.
	(inquire_formatted): Likewise.
	(inquire_access): Likewise.
	* io/unix.h (unpack_filename): Remove prototype.
	* runtime/main.c (please_free_exe_path_when_done): Change type to
	(store_exe_path): Use malloced buffer, grow as needed.

2014-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/52539
	* io/io.h (gfc_unit): New function pointers *next_char_fn_ptr
	and *push_char_fn_ptr.
	*io/list_read.c (next_char): Create macro with this name to call
	the new function pointer. Split the original next_char function
	into three new functions. (next_char_default, next_char_internal,
	next_char_utf8): New functions. (push_char): Create macro with
	this name to call new function pointer. Split the original
	push_char into three new functions. (push_char_default,
	push_char_internal, push_char4): New functions. (set_workers):
	New function to initilize the function pointers depending on the
	type of IO to be performed. (list_formatted_read_scalar): Use
	set_workers function. (finish_list_read): Likewise.
	(namelist_read): Likewise.
	(nml_get_obj_data): Use push_char_default.

2014-05-16  Janne Blomqvist  <>

	PR libfortran/61187
	* io/unix.c (raw_close): Check if s->fd is -1.
	(fd_to_stream): Check return value of fstat(), handle error.

2014-05-12  Janne Blomqvist  <>

	PR libfortran/61035
	* intrinsics/getcwd.c (getcwd_i4_sub): Avoid potentially large
	stack allocation, avoid extra copying in the common case.

2014-05-12  Janne Blomqvist  <>

	* (AM_CFLAGS): Use -std=gnu11.
	(CFLAGS): Likewise.
	* configure: Regenerated.

2014-05-11  Tobias Burnus  <>

	* caf/libcaf.h (_gfortran_caf_num_images): Change type of
	second argument to int.
	* caf/mpi.c (_gfortran_caf_num_images): Ditto.
	* caf/single.c (_gfortran_caf_num_images): Ditto.

2014-05-08  Tobias Burnus  <>

	* caf/libcaf.h (caf_vector_t, _gfortran_caf_co_sum,
	_gfortran_caf_co_min, _gfortran_caf_co_max): Declare
	* caf/single.c

2014-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/61049
	* io/list_read.c (list_formatted_read_scalar): Use eat_separator
	and delete extraneous code.

2014-04-30  Tobias Burnus  <>

	* caf/libcaf.h (_gfortran_caf_this_image, _gfortran_caf_num_images):
	New prototypes.
	(_gfortran_caf_init): Change prototype.
	(mpi_token_t): New typedef.
	(TOKEN): New define.
	* caf/mpi.c (_gfortran_caf_this_image, _gfortran_caf_num_images):
	New functions.
	(_gfortran_caf_init): Update.
	(_gfortran_caf_finalize, _gfortran_caf_register,
	_gfortran_caf_deregister): Use mpi_token_t.
	* caf/single.c (_gfortran_caf_this_image, _gfortran_caf_num_images):
	New functions.
	(_gfortran_caf_init): Update.
	(_gfortran_caf_finalize, _gfortran_caf_register,
	_gfortran_caf_deregister): Use mpi_token_t, simplify.

2014-04-26  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/52539
	* io/list_read.c: Add uchar typedef. (push_char4): New function
	to save kind=4 character. (next_char_utf8): New function to read
	a single UTF-8 encoded character value. (read_chracter): Update
	to use the new functions for reading UTF-8 strings.
	(list_formatted_read_scalar): Update to handle list directed
	reads of UTF-8 strings. (nml_read_obj): Likewise update for
	UTF-8 strings in namelists.
	* io/write.c (nml_write_obj): Add kind=4 character support for
	namelist writes.

2014-04-24  Kyrylo Tkachov  <>

	* Quote usage of ac_cv_func_clock_gettime in if test.
	* configure: Regenerate.

2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution

2014-04-11  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/60810
	io/unit.c (is_trim_ok): If internal unit is array, do not trim.

2014-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/60148
	* io/transfer.c (data_transfer_init): If std= was specified, set
	delim status to DELIM_NONE of no other was specified.

2014-03-18  Ulrich Weigand  <>

	* Check for presence of fcntl.
	* configure: Regenerate.
	* Regenerate.
	* io/unix.c (set_close_on_exec): Check for HAVE_FCNTL.

2014-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/48600
	* io/list_read.c (list_formatted_read_scalar): Do not use
	eat_separator. Explicitly set the comma and end-of-line flags.
	Check for END condition from finish_separator.

2014-03-15  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/58324
	* io/list_read.c (finish_list_read): Read one character to check
	for the end of the file.  If it is the end, then issue the file
	end error message.  If not, use eat_line to reach the end
	without giving error.  The next attempt to read will then
	issue the error as described above.

2014-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/38199
	* io/read.c (read_decimal): Quickly skip spaces to avoid calls
	to next_char.
	* io/unit.c (is_trim_ok): New helper function to check various
	conditions to see if its OK to trim the internal unit string.
	(get_internal_unit): Use LEN_TRIM to shorten selected internal
	unit strings for optimizing READ. Enable this optimization for
	formatted READ.
	* io/list_read.c (finish_list_read): Don't call eat_line for
	internal units.

2014-03-08  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/38199
	* io/list_read.c (next_char): Mark unlikely error checks.
	(eat_spaces): For character array reading, skip ahead over
	spaces rather than call next_char multiple times.

2014-03-08  Tobias Burnus  <>

	* libgfortran.h (unlikely, likely): Add usage comment.

2014-03-08  Dominique d'Humieres  <>

	PR libgfortran/60128
	* io/write_float.def (output_float): Remove unused variable
	nzero_real. Replace a double space with a single one.
	(determine_en_precision): Fix wrong handling of the EN format.

2014-03-03  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/60148
	* io/inquire.c (inquire_via_unit): In the case of
	DELIM_UNSPECIFIED set inquire return string to "NONE".
	* io/list_read.c (read_character): In the case of DELIM_NONE and
	namelists, complete the character read using the namelist
	variable length.
	* io/open.c (new_unit): Don't set delim status to none if not
	specified so that DELIM_UNSPECIFIED can be used later.
	* io/transfer.c (data_transfer_init): For namelist I/O, if the
	unit delim status is unspecified set the current status to quote.
	Otherwise, set current status to the unit status.
	* io/unit.c (get_internel_unit, init_unit): Remember to set
	flags_delim initially to DELIM_UNSPECIFIED so defaults come out
	* io/write.c (write_character): Add a new function argument
	"mode" to signify that raw output is to be used vs output with
	delimiters. If the mode is set to DELIM (1) proceed with
	delimiters. (list_formatted_write_scalar): Write the separator
	only if a delimiter was previously specified. Update the call to
	write_character with the mode argument given.
	(namelist_write_newline): Use the mode argument. (nml_write_obj):
	Use the mode argument. Remove use of tmp_delim. Write the
	semi-colon or comma correctly only when needed with using
	delimiters. Cleanup whitespace.
	(namelist_write): If delim is not specified in namelist I/O,
	default	to using quotes. Get rid of the tmp_delim variable and
	use the new mode argument in write_character.

2014-02-21  Tobias Burnus  <>

	PR fortran/60286
	* libgfortran/io/inquire.c (yes, no): New static const char vars.
	(inquire_via_unit): Use them. Use OPEN mode instead of using
	POSIX's access to query about write=, read= and readwrite=.

2014-01-20  Jerry DeLisle  <jvdelisle@gcc.gnu>
	    Dominique d'Humieres  <>

	* io/write_float.def (output_float): Remove inadvertent test
	code from previous patch.

2014-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu>
	    Dominique d'Humieres  <>

	PR libfortran/59771
	PR libfortran/59774
	PR libfortran/59836
	* io/write_float.def (output_float): Fix wrong handling of the
	Fw.0 format.
	(output_float_FMT_G_): Fixes rounding issues with -m32.

2014-01-11  Jerry DeLisle  <jvdelisle@gcc.gnu>
	    Dominique d'Humieres  <>
	    Steven G. Kargl  <>

	PR libfortran/59700
	PR libfortran/59764
	* io/io.h (struct st_parameter_dt): Assign expanded_read flag to
	unused bit. Define new variable line_buffer_pos.
	* io/list_read.c (free_saved, next_char, l_push_char,
	read_logical, read_real): Replace use of item_count with
	line_buffer_pos for line_buffer look ahead.
	(read_logical, read_integer, parse_real, read_real, check_type):
	Adjust location of free_line to after generating error messages
	to retain the correct item count for the message.

2014-01-02  Richard Sandiford  <>

	Update copyright years
Copyright (C) 2014 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.