Home | History | Annotate | Line # | Download | only in libgfortran
      1 2014-11-28  Bernd Schmidt  <bernds (a] codesourcery.com>
      2 
      3 	* Makefile.am (AM_CFLAGS): Add -DLIBGFOR_MINIMAL if LIBGFOR_MINIMAL.
      4 	(gfor_io_src, gfor_heper_src, gfor_src): Split into minimal and
      5 	always included sources.
      6 	* Makefile.in: Regenerate.
      7 	* configure.ac (LIBGFOR_MINIMAL): New AM_CONDITIONAL.
      8 	* configure: Regenerate.
      9 	* caf/single.c (caf_runtime_error): Don't print messages if
     10 	LIBGFOR_MINIMAL.
     11 	* runtime/compile_options.c (fatal_error_in_progress,
     12 	show_signal, backtrace_handler, maybe_find_addr2line): Guard with
     13 	!defined LIBGFOR_MINIMAL.
     14 	(set_options): Likewise for the backtrace code.
     15 	* runtime/minimal.c: New file.
     16 
     17 2014-11-25  Uros Bizjak  <ubizjak (a] gmail.com>
     18 
     19 	* intrinsics/env.c (getenv): Remove unused variable res_len.
     20 
     21 2014-11-24  John David Anglin  <danglin (a] gcc.gnu.org>
     22 
     23 	* configure.ac: Guard include of <ieeefp.h>.
     24 	* configure: Rebuilt.
     25 
     26 2014-11-21  H.J. Lu  <hongjiu.lu (a] intel.com>
     27 
     28 	PR bootstrap/63784
     29 	* configure: Regenerated.
     30 
     31 2014-11-16  Janne Blomqvist  <jb (a] gcc.gnu.org>
     32 
     33 	PR libfortran/60324
     34 	* intrinsics/random.c (kiss_size): Rename to KISS_SIZE, make it a
     35 	macro instead of a variable.
     36 	(random_seed_i4): Make seed correct size, remove assert, KISS_SIZE
     37 	related changes.
     38 	(random_seed_i8): KISS_SIZE related changes.
     39 
     40 2014-11-13  Marek Polacek  <polacek (a] redhat.com>
     41 
     42 	* intrinsics/access.c: Include <stdlib.h>.
     43 	* intrinsics/chdir.c: Likewise.
     44 	* intrinsics/chmod.c: Likewise.
     45 	* intrinsics/link.c: Likewise.
     46 	* intrinsics/perror.c: Likewise.
     47 	* intrinsics/rename.c: Likewise.
     48 	* intrinsics/symlnk.c: Likewise.
     49 	* intrinsics/unlink.c: Likewise.
     50 
     51 2014-11-13  Janne Blomqvist  <jb (a] gcc.gnu.org>
     52 
     53 	PR libfortran/60324
     54 	* configure: Regenerated.
     55 	* configure.ac (AM_CFLAGS): Add Werror=vla.
     56 	* libgfortran.h (gfc_alloca): Remove macro.
     57 	(fc_strdup_notrim): New prototype.
     58 	* intrinsics/access.c (access_func): Use fc_strdup rather than
     59 	stack allocation.
     60 	* intrinsics/chdir.c (chdir_i4_sub): Likewise.
     61 	(chdir_i8_sub): Likewise.
     62 	* intrinsics/chmod.c (chmod_internal): New function, move logic
     63 	here.
     64 	(chmod_func): Call chmod_internal.
     65 	* intrinsics/env.c (getenv): Use fc_strdup rather than stack
     66 	allocation.
     67 	(get_environment_variable_i4): Likewise.
     68 	* intrinsics/execute_command_line.c (execute_command_line):
     69 	Likewise.
     70 	* intrinsics/hostnm.c (hostnm_0): New function, use static buffer
     71 	rather than VLA.
     72 	(hostnm_i4_sub): Call hostnm_0.
     73 	(hostnm_i8_sub): Likewise.
     74 	(hostnm): Likewise.
     75 	* intrinsics/link.c (link_internal): New function, use fc_strdup
     76 	rather than stack allocation.
     77 	(link_i4_sub): Call link_internal.
     78 	(link_i8_sub): Likewise.
     79 	(link_i4): Likewise.
     80 	(link_i8): Likewise.
     81 	* intrinsics/perror.c (perror_sub): Use fc_strdup rather than
     82 	stack allocation.
     83 	* intrinsics/random.c (random_seed_i4): Use static buffer rather
     84 	than VLA, use _Static_assert to make sure it's big enough.
     85 	* intrinsics/rename.c (rename_internal): New function, use
     86 	fc_strdup rather than stack allocation.
     87 	(rename_i4_sub): Call rename_internal.
     88 	(rename_i8_sub): Likewise.
     89 	(rename_i4): Likewise.
     90 	(rename_i8): Likewise.
     91 	* intrinsics/stat.c (stat_i4_sub_0): Use fc_strdup rather than
     92 	stack allocation.
     93 	(stat_i8_sub_0): Likewise.
     94 	* intrinsics/symlink.c (symlnk_internal): New function, use
     95 	fc_strdup rather than stack allocation.
     96 	(symlnk_i4_sub): Call symlnk_internal.
     97 	(symlnk_i8_sub): Likewise.
     98 	(symlnk_i4): Likewise.
     99 	(symlnk_i8): Likewise.
    100 	* intrinsics/system.c (system_sub): Use fc_strdup rather than
    101 	stack allocation.
    102 	* intrinsics/unlink.c (unlink_i4_sub): Likewise.
    103 	* io/file_pos.c (READ_CHUNK): Make it a macro rather than variable.
    104 	* io/list_read.c (nml_get_obj_data): Use fixed stack buffer, fall
    105 	back to xmalloc/free for large sizes.
    106 	* io/read.c (read_f): Likewise.
    107 	* io/transfer.c (MAX_READ): Make it a macro rather than variable.
    108 	(WRITE_CHUNK): Likewise.
    109 	* io/write_float.def (write_float): Use fixed stack buffer, fall
    110 	back to xmalloc/free for large sizes.
    111 	* runtime/string.c (fc_strdup_notrim): New function.
    112 
    113 2014-11-11  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
    114 
    115 	PR target/63610
    116 	* configure: Regenerate.
    117 
    118 2014-11-10  Janne Blomqvist  <jb (a] gcc.gnu.org>
    119 
    120 	PR libfortran/47007
    121 	PR libfortran/61847
    122 	* config.h.in: Regenerated.
    123 	* configure: Regenerated.
    124 	* configure.ac (AC_CHECK_HEADERS_ONCE): Check for xlocale.h.
    125 	(AC_CHECK_FUNCS_ONCE): Check for newlocale, freelocale, uselocale,
    126 	strerror_l.
    127 	* io/io.h (locale.h): Include.
    128 	(xlocale.h): Include if present.
    129 	(c_locale): New variable.
    130 	(old_locale): New variable.
    131 	(old_locale_ctr): New variable.
    132 	(old_locale_lock): New variable.
    133 	(st_parameter_dt): Add old_locale member.
    134 	* io/transfer.c (data_transfer_init): Set locale to "C" if doing
    135 	formatted transfer.
    136 	(finalize_transfer): Reset locale to previous.
    137 	* io/unit.c (c_locale): New variable.
    138 	(old_locale): New variable.
    139 	(old_locale_ctr): New variable.
    140 	(old_locale_lock): New variable.
    141 	(init_units): Init c_locale, init old_locale_lock.
    142 	(close_units): Free c_locale.
    143 	* runtime/error.c (locale.h): Include.
    144 	(xlocale.h): Include if present.
    145 	(gf_strerror): Use strerror_l if available. Reset locale to
    146 	LC_GLOBAL_LOCALE for strerror_r branch.
    147 
    148 2014-10-20  Janne Blomqvist  <jb (a] gcc.gnu.org>
    149 
    150 	PR libfortran/63589
    151 	* configure.ac: Check for strtok_r.
    152 	* runtime/main.c (gfstrtok_r): Fallback implementation of
    153 	strtok_r.
    154 	(find_addr2line): Use strtok_r to split PATH.
    155 	* config.h.in: Regenerated.
    156 	* configure: Regenerated.
    157 
    158 2014-10-09  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
    159 
    160 	* ieee/ieee_helper.c (ieee_is_finite_*, ieee_is_nan_*,
    161 	ieee_is_negative_*, ieee_is_normal_*, ieee_copy_sign_*,
    162 	ieee_unordered_*, ieee_logb_*, ieee_rint_*, ieee_scalb_*,
    163 	ieee_rem_*, ieee_next_after_*): Remove functions.
    164 	* gfortran.map (GFORTRAN_1.5): Remove corresponding symbols.
    165 
    166 2014-10-05  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    167 
    168 	PR libgfortran/63460
    169 	* io/unit.c (init_units): Initialize the DELIM flag to
    170 	UNSPECIFIED for the STDIN unit so that the flag is
    171 	correctly set later.
    172 
    173 2014-10-01  Janne Blomqvist  <jb (a] gcc.gnu.org>
    174 
    175 	* intrinsics/pack_generic.c (pack_s_internal): Fix
    176 	-Wmaybe-uninitialized warning.
    177 	* m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
    178 	(unpack1_'rtype_code`): Likewise.
    179 	* generated/unpack_*.m4: Regenerated.
    180 
    181 2014-09-30  Janne Blomqvist  <jb (a] gcc.gnu.org>
    182 
    183 	* configure.ac (AM_CFLAGS): Add
    184 	-Werror=implicit-function-declaration.
    185 	* Makefile.in: Regenerated.
    186 	* aclocal.m4: Regenerated.
    187 	* configure: Regenerated.
    188 
    189 2014-09-25  Tobias Burnus  <burnus (a] net-b.de>
    190 
    191 	* caf/libcaf.h (_gfortran_caf_co_broadcast): New prototype.
    192 	* caf/single.c (_gfortran_caf_co_broadcast): New.
    193 
    194 2014-09-18  Janne Blomqvist  <jb (a] gcc.gnu.org>
    195 
    196 	PR libfortran/62768
    197 	* io/inquire.c (inquire_via_unit): Use gfc_unit.filename also when
    198 	HAVE_TTYNAME{_R} is not defined.
    199 
    200 2014-09-17  Janne Blomqvist  <jb (a] gcc.gnu.org>
    201 
    202 	PR libfortran/62768
    203 	* io/io.h (gfc_unit): Store C string for the filename.
    204 	* io/close.c (st_close): Use gfc_unit.filename.
    205 	* io/inquire.c (inquire_via_unit): Likewise.
    206 	* io/open.c (new_unit): Likewise.
    207 	(already_open): Likewise, unlink file before freeing filename.
    208 	* io/unit.c (init_units): Likewise.
    209 	(close_unit_1): Likewise.
    210 	(filename_from_unit): Likewise.
    211 	* io/unix.c (compare_file_filename): Likewise.
    212 	(find_file0): Likewise.
    213 	(delete_file): Likewise.
    214 
    215 2014-09-10  Janne Blomqvist  <jb (a] gcc.gnu.org>
    216 
    217 	* io/transfer.c (read_block_form): Fix pad status check (found by
    218 	Thomas Schwinge with -Wlogical-not-parentheses).
    219 
    220 2014-08-31  Tobias Burnus  <burnus (a] net-b.de>
    221 
    222 	* caf/libcaf.h (_gfortran_caf_send, _gfortran_caf_get,
    223 	_gfortran_caf_sendget): Update prototype.
    224 	* caf/single.c (_gfortran_caf_send, _gfortran_caf_get,
    225 	_gfortran_caf_sendget): Handle may_require_tmp.
    226 
    227 2014-08-20  Steven G. Kargl  <kargl (a] gcc.gnu.org>
    228 
    229 	PR libgfortran/62188
    230 	* m4/bessel.m4: Avoid indexing off the end of an array.
    231 	* generated/bessel_r10.c: Regenerated.
    232 	* generated/bessel_r16.c: Ditto.
    233 	* generated/bessel_r4.c: Ditto.
    234 	* generated/bessel_r8.c: Ditto.
    235 
    236 2014-08-14  Tobias Burnus  <burnus (a] net-b.de>
    237 
    238 	* caf/libcaf.h (caf_register_t): Update for critical.
    239 	(_gfortran_caf_critical, _gfortran_caf_end_critical): Remove.
    240 	(_gfortran_caf_lock, _gfortran_caf_unlock): Add.
    241 	* caf/single.c (_gfortran_caf_register): Handle locking
    242 	variables.
    243 	(_gfortran_caf_sendget): Re-name args for consistency.
    244 	(_gfortran_caf_lock, _gfortran_caf_unlock): Add.
    245 
    246 2014-08-04  Jakub Jelinek  <jakub (a] redhat.com>
    247 
    248 	* runtime/memory.c (xmallocarray): Avoid division for the common case.
    249 
    250 2014-07-20  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    251 
    252 	PR libgfortran/61632
    253 	* io/format.c (format_error): Avoid invalid string pointer by
    254 	using the fortran string length values to generate error string.
    255 	(parse_format): Allocate the null terminator for the format
    256 	string.
    257 
    258 2014-07-12  Tobias Burnus  <burnus (a] net-b.de>
    259 
    260 	* caf/libcaf.h (_gfortran_caf_atomic_define,
    261 	_gfortran_caf_atomic_ref, _gfortran_caf_atomic_op,
    262 	_gfortran_caf_atomic_cas): New prototypes.
    263 	* caf/single.c (_gfortran_caf_atomic_define,
    264 	_gfortran_caf_atomic_ref, _gfortran_caf_atomic_op,
    265 	_gfortran_caf_atomic_cas): New functions.
    266 
    267 2014-07-10  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
    268 
    269 	* config/fpu-*.h (get_fpu_rounding_mode, set_fpu_rounding_mode,
    270 	support_fpu_rounding_mode): Clean up, mark unreachable code as such.
    271 
    272 2014-07-09  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
    273 
    274 	* libgfortran.h (support_fpu_underflow_control,
    275 	get_fpu_underflow_mode, set_fpu_underflow_mode): New prototypes.
    276 	* config/fpu-*.h (support_fpu_underflow_control,
    277 	get_fpu_underflow_mode, set_fpu_underflow_mode):
    278 	New functions.
    279 	* ieee/ieee_arithmetic.F90: Support underflow control.
    280 
    281 2014-07-08  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
    282 
    283 	* config/fpu-sysv.h (get_fpu_rounding_mode): Use FP_RN, FP_RP,
    284 	FP_RM, FP_RZ unconditionally.
    285 	(set_fpu_rounding_mode): Likewise.
    286 
    287 2014-07-07  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
    288 
    289 	* libgfortran.h: Assume __GNUC__.
    290 
    291 2014-07-07  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
    292 
    293 	* runtime/stop.c: Use C11 _Noreturn.
    294 	* libgfortran.h: Use C11 _Noreturn in prototypes.
    295 	Move REALPART, IMAGPART and COMPLEX_ASSIGN macros...
    296 	* intrinsics/c99_functions.c: ... here.
    297 
    298 2014-07-07  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
    299 
    300 	* config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h,
    301 	config/fpu-glibc.h: Use static assertions.
    302 
    303 2014-07-05  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
    304 
    305 	* configure, config.h.in: Regenerate.
    306 	* config/fpu-sysv.h: Include <assert.h>.
    307 
    308 2014-07-02  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
    309 
    310 	* config/fpu-glibc.h: Fix comment about FE_DENORMAL.
    311 
    312 2014-07-02  Uros Bizjak  <ubizjak (a] gmail.com>
    313 
    314 	* configure.host (ieee_flags): Add -mieee for alpha*.
    315 
    316 	* config/fpu-glibc.h (support_fpu_rounding_mode): Correctly handle
    317 	GFC_FPE_UPWARD, GFC_FPE_DOWNWARD and GFC_FPE_TOWARDZERO.
    318 	* config/fpu-aix.h (support_fpu_rounding_mode): Ditto.
    319 
    320 2014-06-29  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
    321 
    322 	* config/fpu-387.h (my_fenv_t): Amend structure so it also works
    323 	on mingw32.
    324 
    325 2014-06-28  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    326 
    327 	PR libgfortran/61640
    328 	* io/list_read.c (next_char_internal): Adjust the read length to
    329 	a single wide character. (eat_spaces): Add missing paren.
    330 	* io/unix.c (mem_read4): Use the correct mem_alloc function for
    331 	wide character internal reads.
    332 
    333 2014-06-28  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
    334 
    335 	PR fortran/29383
    336 	* configure.host: Add checks for IEEE support, rework priorities.
    337 	* configure.ac: Define IEEE_SUPPORT, check for fpsetsticky and
    338 	fpresetsticky.
    339 	* configure: Regenerate.
    340 	* Makefile.am: Build new ieee files, install IEEE_* modules.
    341 	* Makefile.in: Regenerate.
    342 	* gfortran.map (GFORTRAN_1.6): Add new symbols.
    343 	* libgfortran.h (get_fpu_trap_exceptions, set_fpu_trap_exceptions,
    344 	support_fpu_trap, set_fpu_except_flags, support_fpu_flag,
    345 	support_fpu_rounding_mode, get_fpu_state, set_fpu_state): New
    346 	prototypes.
    347 	* config/fpu-*.h (get_fpu_trap_exceptions,
    348 	set_fpu_trap_exceptions, support_fpu_trap, set_fpu_except_flags,
    349 	support_fpu_flag, support_fpu_rounding_mode, get_fpu_state,
    350 	set_fpu_state): New functions.
    351 	* ieee/ieee_features.F90: New file.
    352 	* ieee/ieee_exceptions.F90: New file.
    353 	* ieee/ieee_arithmetic.F90: New file.
    354 	* ieee/ieee_helper.c: New file.
    355 
    356 2014-06-26  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    357 
    358 	PR libgfortran/61499
    359 	* io/list_read.c (eat_spaces): Use a 'for' loop instead of
    360 	'while' loop to skip the loop if there are no bytes left in the
    361 	string. Only seek if actual spaces can be skipped.
    362 
    363 2014-06-25  Tobias Burnus  <burnus (a] net-b.de>
    364 
    365 	* caf/single.c (assign_char4_from_char1, assign_char1_from_char4,
    366 	convert_type): New static functions.
    367 	(_gfortran_caf_get, _gfortran_caf_send): Use them.
    368 
    369 2014-06-19  Tobias Burnus  <burnus (a] net-b.de>
    370 
    371 	* caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
    372 	_gfortran_caf_co_min): Fix stat setting.
    373 
    374 2014-06-17  Tobias Burnus  <burnus (a] net-b.de>
    375 
    376 	* caf/libcaf.h (gfc_descriptor_t): New typedef.
    377 	(caf_vector_t): Update.
    378 	(_gfortran_caf_co_sum, _gfortran_caf_co_max, _gfortran_caf_co_min):
    379 	Remove vector-subscript argument.
    380 	(_gfortran_caf_co_send, _gfortran_caf_co_get,
    381 	_gfortran_caf_co_sendget): New.
    382 	* caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
    383 	_gfortran_caf_co_min): Remove vector-subscript argument.
    384 	(_gfortran_caf_co_send, _gfortran_caf_co_get,
    385 	_gfortran_caf_co_sendget): New.
    386 
    387 2014-06-17  Janne Blomqvist  <jb (a] gcc.gnu.org>
    388 
    389 	* libgfortran.h (xmallocarray): New prototype.
    390 	* runtime/memory.c (xmallocarray): New function.
    391 	(xcalloc): Check for nonzero separately instead of multiplying.
    392 	* generated/*.c: Regenerated.
    393 	* intrinsics/cshift0.c (cshift0): Call xmallocarray instead of
    394 	xmalloc.
    395 	* intrinsics/eoshift0.c (eoshift0): Likewise.
    396 	* intrinsics/eoshift2.c (eoshift2): Likewise.
    397 	* intrinsics/pack_generic.c (pack_internal): Likewise.
    398 	(pack_s_internal): Likewise.
    399 	* intrinsics/reshape_generic.c (reshape_internal): Likewise.
    400 	* intrinsics/spread_generic.c (spread_internal): Likewise.
    401 	(spread_internal_scalar): Likewise.
    402 	* intrinsics/string_intrinsics_inc.c (string_trim): Likewise.
    403 	(string_minmax): Likewise.
    404 	* intrinsics/transpose_generic.c (transpose_internal): Likewise.
    405 	* intrinsics/unpack_generic.c (unpack_internal): Likewise.
    406 	* io/list_read.c (nml_touch_nodes): Don't cast xmalloc return value.
    407 	* io/transfer.c (st_set_nml_var): Call xmallocarray instead of
    408 	xmalloc.
    409 	* io/unit.c (get_internal_unit): Likewise.
    410 	(filename_from_unit): Don't cast xmalloc return value.
    411 	* io/write.c (nml_write_obj): Likewise, formatting.
    412 	* m4/bessel.m4 (bessel_jn_r'rtype_kind`): Call xmallocarray
    413 	instead of xmalloc.
    414 	(besse_yn_r'rtype_kind`): Likewise.
    415 	* m4/cshift1.m4 (cshift1): Likewise.
    416 	* m4/eoshift1.m4 (eoshift1): Likewise.
    417 	* m4/eoshift3.m4 (eoshift3): Likewise.
    418 	* m4/iforeach.m4: Likewise.
    419 	* m4/ifunction.m4: Likewise.
    420 	* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code):
    421 	Likewise.
    422 	* m4/in_pack.m4 (internal_pack_'rtype_ccode`): Likewise.
    423 	* m4/matmul.m4 (matmul_'rtype_code`): Likewise.
    424 	* m4/matmull.m4 (matmul_'rtype_code`): Likewise.
    425 	* m4/pack.m4 (pack_'rtype_code`): Likewise.
    426 	* m4/reshape.m4 (reshape_'rtype_ccode`): Likewise.
    427 	* m4/shape.m4 (shape_'rtype_kind`): Likewise.
    428 	* m4/spread.m4 (spread_'rtype_code`): Likewise.
    429 	(spread_scalar_'rtype_code`): Likewise.
    430 	* m4/transpose.m4 (transpose_'rtype_code`): Likewise.
    431 	* m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
    432 	(unpack1_'rtype_code`): Likewise.
    433 	* runtime/convert_char.c (convert_char1_to_char4): Likewise.
    434 	(convert_char4_to_char1): Simplify.
    435 	* runtime/environ.c (init_unformatted): Call xmallocarray instead
    436 	of xmalloc.
    437 	* runtime/in_pack_generic.c (internal_pack): Likewise.
    438 
    439 2014-06-15  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
    440 
    441 	PR libfortran/60468
    442 	* configure.ac: Include <math.h> when checking for fp_except_t
    443 	and fp_rnd_t types.
    444 	* configure: Regenerate.
    445 
    446 2014-06-08  Janne Blomqvist  <jb (a] gcc.gnu.org>
    447 
    448 	PR libfortran/56981
    449 	* io/unix.h (struct stream_vtable): Add new member function,
    450 	markeor.
    451 	(smarkeor): New inline function.
    452 	(flush_if_unbuffered): Remove prototype.
    453 	* io/unix.c (raw_markeor): New function.
    454 	(raw_vtable): Initialize markeor member.
    455 	(buf_markeor): New function.
    456 	(buf_vtable): Initialize markeor member.
    457 	(mem_vtable): Likewise.
    458 	(mem4_vtable): Likewise.
    459 	(flush_if_unbuffered): Remove function.
    460 	* io/transfer.c (next_record): Call smarkeor instead of
    461 	flush_if_unbuffered.
    462 
    463 2014-05-27  Uros Bizjak  <ubizjak (a] gmail.com>
    464 
    465 	* intrinsics/getcwd.c: Include stdlib.h.
    466 
    467 2014-05-26  Janne Blomqvist  <jb (a] gcc.gnu.org>
    468 
    469 	* libgfortran.h (xrealloc): New prototype.
    470 	* runtime/memory.c (xrealloc): New function.
    471 	* io/fbuf.c (fbuf_alloc): Use xrealloc.
    472 	* io/list_read.c (push_char_default): Likewise.
    473 	(push_char4): Likewise.
    474 
    475 2014-05-26  Janne Blomqvist  <jb (a] gcc.gnu.org>
    476 
    477 	PR libfortran/61310
    478 	* intrinsics/ctime.c (strctime): Rename to gf_ctime, use snprintf
    479 	instead of strftime.
    480 	(fdate): Use gf_ctime.
    481 	(fdate_sub): Likewise.
    482 	(ctime): Likewise.
    483 	(ctime_sub): Likewise.
    484 
    485 2014-05-26  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    486 
    487 	PR libgfortran/55117
    488 	* io/list_read.c (extended_look_ahead): New helper function to
    489 	scan the namelist name and look for matches with the new '+'
    490 	extended type parent indicator.  (str_comp_extended): New
    491 	helper function to compare the namelist name with the varname
    492 	namelist. (find_nml_name): Use the new helper functions to match
    493 	the extended type varnames.
    494 
    495 2014-05-23  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    496 
    497 	PR libfortran/61173
    498 	* io/list_read.c (eat_spaces): If the next character pointed to
    499 	is a space, don't seek, must be at the end.
    500 
    501 2014-05-23  Hans-Peter Nilsson  <hp (a] axis.com>
    502 
    503 	* configure.ac [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define.
    504 	* configure: Regenerate.
    505 
    506 2014-05-23  Janne Blomqvist  <jb (a] gcc.gnu.org>
    507 
    508 	PR libfortran/60324
    509 	* runtime/string.c: Include stdlib.h.
    510 
    511 2014-05-22  Janne Blomqvist  <jb (a] gcc.gnu.org>
    512 
    513 	PR libfortran/60324
    514 	* config.h.in: Regenerated.
    515 	* configure: Regenerated.
    516 	* configure.ac (AC_CHECK_FUNCS_ONCE): Check for strnlen and
    517 	strndup.
    518 	* libgfortran.h (fc_strdup): New prototype.
    519 	* runtime/string.c (strnlen): New fallback function.
    520 	(strndup): New fallback function.
    521 	(fc_strdup): New function.
    522 	* io/close.c (st_close): Use fc_strdup.
    523 	* io/open.c (new_unit): Likewise.
    524 	(already_open): Likewise.
    525 	* io/unit.c (filename_from_unit): Likewise.
    526 	* io/unix.c (unpack_filename): Remove function.
    527 	(regular_file): Rename to regular_file2, add path argument.
    528 	(regular_file): New function calling regular_file2.
    529 	(compare_file_filename): Use fc_strdup.
    530 	(find_file): Likewise.
    531 	(delete_file): Likewise.
    532 	(file_exists): Likewise.
    533 	(file_size): Likewise.
    534 	(inquire_sequential): Likewise.
    535 	(inquire_direct): Likewise.
    536 	(inquire_formatted): Likewise.
    537 	(inquire_access): Likewise.
    538 	* io/unix.h (unpack_filename): Remove prototype.
    539 	* runtime/main.c (please_free_exe_path_when_done): Change type to
    540 	bool.
    541 	(store_exe_path): Use malloced buffer, grow as needed.
    542 
    543 2014-05-17  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    544 
    545 	PR libfortran/52539
    546 	* io/io.h (gfc_unit): New function pointers *next_char_fn_ptr
    547 	and *push_char_fn_ptr.
    548 	*io/list_read.c (next_char): Create macro with this name to call
    549 	the new function pointer. Split the original next_char function
    550 	into three new functions. (next_char_default, next_char_internal,
    551 	next_char_utf8): New functions. (push_char): Create macro with
    552 	this name to call new function pointer. Split the original
    553 	push_char into three new functions. (push_char_default,
    554 	push_char_internal, push_char4): New functions. (set_workers):
    555 	New function to initilize the function pointers depending on the
    556 	type of IO to be performed. (list_formatted_read_scalar): Use
    557 	set_workers function. (finish_list_read): Likewise.
    558 	(namelist_read): Likewise.
    559 	(nml_get_obj_data): Use push_char_default.
    560 
    561 2014-05-16  Janne Blomqvist  <jb (a] gcc.gnu.org>
    562 
    563 	PR libfortran/61187
    564 	* io/unix.c (raw_close): Check if s->fd is -1.
    565 	(fd_to_stream): Check return value of fstat(), handle error.
    566 
    567 2014-05-12  Janne Blomqvist  <jb (a] gcc.gnu.org>
    568 
    569 	PR libfortran/61035
    570 	* intrinsics/getcwd.c (getcwd_i4_sub): Avoid potentially large
    571 	stack allocation, avoid extra copying in the common case.
    572 
    573 2014-05-12  Janne Blomqvist  <jb (a] gcc.gnu.org>
    574 
    575 	* configure.ac (AM_CFLAGS): Use -std=gnu11.
    576 	(CFLAGS): Likewise.
    577 	* configure: Regenerated.
    578 
    579 2014-05-11  Tobias Burnus  <burnus (a] net-b.de>
    580 
    581 	* caf/libcaf.h (_gfortran_caf_num_images): Change type of
    582 	second argument to int.
    583 	* caf/mpi.c (_gfortran_caf_num_images): Ditto.
    584 	* caf/single.c (_gfortran_caf_num_images): Ditto.
    585 
    586 2014-05-08  Tobias Burnus  <burnus (a] net-b.de>
    587 
    588 	* caf/libcaf.h (caf_vector_t, _gfortran_caf_co_sum,
    589 	_gfortran_caf_co_min, _gfortran_caf_co_max): Declare
    590 	* caf/single.c
    591 
    592 2014-05-06  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    593 
    594 	PR libfortran/61049
    595 	* io/list_read.c (list_formatted_read_scalar): Use eat_separator
    596 	and delete extraneous code.
    597 
    598 2014-04-30  Tobias Burnus  <burnus (a] net-b.de>
    599 
    600 	* caf/libcaf.h (_gfortran_caf_this_image, _gfortran_caf_num_images):
    601 	New prototypes.
    602 	(_gfortran_caf_init): Change prototype.
    603 	(mpi_token_t): New typedef.
    604 	(TOKEN): New define.
    605 	* caf/mpi.c (_gfortran_caf_this_image, _gfortran_caf_num_images):
    606 	New functions.
    607 	(_gfortran_caf_init): Update.
    608 	(_gfortran_caf_finalize, _gfortran_caf_register,
    609 	_gfortran_caf_deregister): Use mpi_token_t.
    610 	* caf/single.c (_gfortran_caf_this_image, _gfortran_caf_num_images):
    611 	New functions.
    612 	(_gfortran_caf_init): Update.
    613 	(_gfortran_caf_finalize, _gfortran_caf_register,
    614 	_gfortran_caf_deregister): Use mpi_token_t, simplify.
    615 
    616 2014-04-26  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    617 
    618 	PR libfortran/52539
    619 	* io/list_read.c: Add uchar typedef. (push_char4): New function
    620 	to save kind=4 character. (next_char_utf8): New function to read
    621 	a single UTF-8 encoded character value. (read_chracter): Update
    622 	to use the new functions for reading UTF-8 strings.
    623 	(list_formatted_read_scalar): Update to handle list directed
    624 	reads of UTF-8 strings. (nml_read_obj): Likewise update for
    625 	UTF-8 strings in namelists.
    626 	* io/write.c (nml_write_obj): Add kind=4 character support for
    627 	namelist writes.
    628 
    629 2014-04-24  Kyrylo Tkachov  <kyrylo.tkachov (a] arm.com>
    630 
    631 	* configure.ac: Quote usage of ac_cv_func_clock_gettime in if test.
    632 	* configure: Regenerate.
    633 
    634 2014-04-22  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
    635 
    636 	* config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
    637 	check.
    638 
    639 2014-04-11  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    640 
    641 	PR libfortran/60810
    642 	io/unit.c (is_trim_ok): If internal unit is array, do not trim.
    643 
    644 2014-03-21  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    645 
    646 	PR libfortran/60148
    647 	* io/transfer.c (data_transfer_init): If std= was specified, set
    648 	delim status to DELIM_NONE of no other was specified.
    649 
    650 2014-03-18  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
    651 
    652 	* configure.ac: Check for presence of fcntl.
    653 	* configure: Regenerate.
    654 	* config.h.in: Regenerate.
    655 	* io/unix.c (set_close_on_exec): Check for HAVE_FCNTL.
    656 
    657 2014-03-17  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    658 
    659 	PR libfortran/48600
    660 	* io/list_read.c (list_formatted_read_scalar): Do not use
    661 	eat_separator. Explicitly set the comma and end-of-line flags.
    662 	Check for END condition from finish_separator.
    663 
    664 2014-03-15  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    665 
    666 	PR libfortran/58324
    667 	* io/list_read.c (finish_list_read): Read one character to check
    668 	for the end of the file.  If it is the end, then issue the file
    669 	end error message.  If not, use eat_line to reach the end
    670 	without giving error.  The next attempt to read will then
    671 	issue the error as described above.
    672 
    673 2014-03-12  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    674 
    675 	PR libfortran/38199
    676 	* io/read.c (read_decimal): Quickly skip spaces to avoid calls
    677 	to next_char.
    678 	* io/unit.c (is_trim_ok): New helper function to check various
    679 	conditions to see if its OK to trim the internal unit string.
    680 	(get_internal_unit): Use LEN_TRIM to shorten selected internal
    681 	unit strings for optimizing READ. Enable this optimization for
    682 	formatted READ.
    683 	* io/list_read.c (finish_list_read): Don't call eat_line for
    684 	internal units.
    685 
    686 2014-03-08  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    687 
    688 	PR libfortran/38199
    689 	* io/list_read.c (next_char): Mark unlikely error checks.
    690 	(eat_spaces): For character array reading, skip ahead over
    691 	spaces rather than call next_char multiple times.
    692 
    693 2014-03-08  Tobias Burnus  <burnus (a] net-b.de>
    694 
    695 	* libgfortran.h (unlikely, likely): Add usage comment.
    696 
    697 2014-03-08  Dominique d'Humieres  <dominiq (a] lps.ens.fr>
    698 
    699 	PR libgfortran/60128
    700 	* io/write_float.def (output_float): Remove unused variable
    701 	nzero_real. Replace a double space with a single one.
    702 	(determine_en_precision): Fix wrong handling of the EN format.
    703 
    704 2014-03-03  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    705 
    706 	PR libfortran/60148
    707 	* io/inquire.c (inquire_via_unit): In the case of
    708 	DELIM_UNSPECIFIED set inquire return string to "NONE".
    709 	* io/list_read.c (read_character): In the case of DELIM_NONE and
    710 	namelists, complete the character read using the namelist
    711 	variable length.
    712 	* io/open.c (new_unit): Don't set delim status to none if not
    713 	specified so that DELIM_UNSPECIFIED can be used later.
    714 	* io/transfer.c (data_transfer_init): For namelist I/O, if the
    715 	unit delim status is unspecified set the current status to quote.
    716 	Otherwise, set current status to the unit status.
    717 	* io/unit.c (get_internel_unit, init_unit): Remember to set
    718 	flags_delim initially to DELIM_UNSPECIFIED so defaults come out
    719 	correctly.
    720 	* io/write.c (write_character): Add a new function argument
    721 	"mode" to signify that raw output is to be used vs output with
    722 	delimiters. If the mode is set to DELIM (1) proceed with
    723 	delimiters. (list_formatted_write_scalar): Write the separator
    724 	only if a delimiter was previously specified. Update the call to
    725 	write_character with the mode argument given.
    726 	(namelist_write_newline): Use the mode argument. (nml_write_obj):
    727 	Use the mode argument. Remove use of tmp_delim. Write the
    728 	semi-colon or comma correctly only when needed with using
    729 	delimiters. Cleanup whitespace.
    730 	(namelist_write): If delim is not specified in namelist I/O,
    731 	default	to using quotes. Get rid of the tmp_delim variable and
    732 	use the new mode argument in write_character.
    733 
    734 2014-02-21  Tobias Burnus  <burnus (a] net-b.de>
    735 
    736 	PR fortran/60286
    737 	* libgfortran/io/inquire.c (yes, no): New static const char vars.
    738 	(inquire_via_unit): Use them. Use OPEN mode instead of using
    739 	POSIX's access to query about write=, read= and readwrite=.
    740 
    741 2014-01-20  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    742 	    Dominique d'Humieres  <dominiq (a] lps.ens.fr>
    743 
    744 	* io/write_float.def (output_float): Remove inadvertent test
    745 	code from previous patch.
    746 
    747 2014-01-19  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    748 	    Dominique d'Humieres  <dominiq (a] lps.ens.fr>
    749 
    750 	PR libfortran/59771
    751 	PR libfortran/59774
    752 	PR libfortran/59836
    753 	* io/write_float.def (output_float): Fix wrong handling of the
    754 	Fw.0 format.
    755 	(output_float_FMT_G_): Fixes rounding issues with -m32.
    756 
    757 2014-01-11  Jerry DeLisle  <jvdelisle (a] gcc.gnu>
    758 	    Dominique d'Humieres  <dominiq (a] lps.ens.fr>
    759 	    Steven G. Kargl  <kargl (a] gcc.gnu.org>
    760 
    761 	PR libfortran/59700
    762 	PR libfortran/59764
    763 	* io/io.h (struct st_parameter_dt): Assign expanded_read flag to
    764 	unused bit. Define new variable line_buffer_pos.
    765 	* io/list_read.c (free_saved, next_char, l_push_char,
    766 	read_logical, read_real): Replace use of item_count with
    767 	line_buffer_pos for line_buffer look ahead.
    768 	(read_logical, read_integer, parse_real, read_real, check_type):
    769 	Adjust location of free_line to after generating error messages
    770 	to retain the correct item count for the message.
    771 
    772 2014-01-02  Richard Sandiford  <rdsandiford (a] googlemail.com>
    773 
    774 	Update copyright years
    775 
    777 Copyright (C) 2014 Free Software Foundation, Inc.
    778 
    779 Copying and distribution of this file, with or without modification,
    780 are permitted in any medium without royalty provided the copyright
    781 notice and this notice are preserved.
    782