Fix bootstrap/PR63632
[official-gcc.git] / libgfortran / ChangeLog
blobe22600214bfa43d2ba02a870ed3f12be79fad404
1 2014-10-20  Janne Blomqvist  <jb@gcc.gnu.org>
3         PR libfortran/63589
4         * configure.ac: Check for strtok_r.
5         * runtime/main.c (gfstrtok_r): Fallback implementation of
6         strtok_r.
7         (find_addr2line): Use strtok_r to split PATH.
8         * config.h.in: Regenerated.
9         * configure: Regenerated.
11 2014-10-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
13         * ieee/ieee_helper.c (ieee_is_finite_*, ieee_is_nan_*,
14         ieee_is_negative_*, ieee_is_normal_*, ieee_copy_sign_*,
15         ieee_unordered_*, ieee_logb_*, ieee_rint_*, ieee_scalb_*,
16         ieee_rem_*, ieee_next_after_*): Remove functions.
17         * gfortran.map (GFORTRAN_1.5): Remove corresponding symbols.
19 2014-10-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
21         PR libgfortran/63460
22         * io/unit.c (init_units): Initialize the DELIM flag to
23         UNSPECIFIED for the STDIN unit so that the flag is
24         correctly set later.
26 2014-10-01  Janne Blomqvist  <jb@gcc.gnu.org>
28         * intrinsics/pack_generic.c (pack_s_internal): Fix
29         -Wmaybe-uninitialized warning.
30         * m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
31         (unpack1_'rtype_code`): Likewise.
32         * generated/unpack_*.m4: Regenerated.
34 2014-09-30  Janne Blomqvist  <jb@gcc.gnu.org>
36         * configure.ac (AM_CFLAGS): Add
37         -Werror=implicit-function-declaration.
38         * Makefile.in: Regenerated.
39         * aclocal.m4: Regenerated.
40         * configure: Regenerated.
42 2014-09-25  Tobias Burnus  <burnus@net-b.de>
44         * caf/libcaf.h (_gfortran_caf_co_broadcast): New prototype.
45         * caf/single.c (_gfortran_caf_co_broadcast): New.
47 2014-09-18  Janne Blomqvist  <jb@gcc.gnu.org>
49         PR libfortran/62768
50         * io/inquire.c (inquire_via_unit): Use gfc_unit.filename also when
51         HAVE_TTYNAME{_R} is not defined.
53 2014-09-17  Janne Blomqvist  <jb@gcc.gnu.org>
55         PR libfortran/62768
56         * io/io.h (gfc_unit): Store C string for the filename.
57         * io/close.c (st_close): Use gfc_unit.filename.
58         * io/inquire.c (inquire_via_unit): Likewise.
59         * io/open.c (new_unit): Likewise.
60         (already_open): Likewise, unlink file before freeing filename.
61         * io/unit.c (init_units): Likewise.
62         (close_unit_1): Likewise.
63         (filename_from_unit): Likewise.
64         * io/unix.c (compare_file_filename): Likewise.
65         (find_file0): Likewise.
66         (delete_file): Likewise.
68 2014-09-10  Janne Blomqvist  <jb@gcc.gnu.org>
70         * io/transfer.c (read_block_form): Fix pad status check (found by
71         Thomas Schwinge with -Wlogical-not-parentheses).
73 2014-08-31  Tobias Burnus  <burnus@net-b.de>
75         * caf/libcaf.h (_gfortran_caf_send, _gfortran_caf_get,
76         _gfortran_caf_sendget): Update prototype.
77         * caf/single.c (_gfortran_caf_send, _gfortran_caf_get,
78         _gfortran_caf_sendget): Handle may_require_tmp.
80 2014-08-20  Steven G. Kargl  <kargl@gcc.gnu.org>
82         PR libgfortran/62188
83         * m4/bessel.m4: Avoid indexing off the end of an array.
84         * generated/bessel_r10.c: Regenerated.
85         * generated/bessel_r16.c: Ditto.
86         * generated/bessel_r4.c: Ditto.
87         * generated/bessel_r8.c: Ditto.
89 2014-08-14  Tobias Burnus  <burnus@net-b.de>
91         * caf/libcaf.h (caf_register_t): Update for critical.
92         (_gfortran_caf_critical, _gfortran_caf_end_critical): Remove.
93         (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
94         * caf/single.c (_gfortran_caf_register): Handle locking
95         variables.
96         (_gfortran_caf_sendget): Re-name args for consistency.
97         (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
99 2014-08-04  Jakub Jelinek  <jakub@redhat.com>
101         * runtime/memory.c (xmallocarray): Avoid division for the common case.
103 2014-07-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
105         PR libgfortran/61632
106         * io/format.c (format_error): Avoid invalid string pointer by
107         using the fortran string length values to generate error string.
108         (parse_format): Allocate the null terminator for the format
109         string.
111 2014-07-12  Tobias Burnus  <burnus@net-b.de>
113         * caf/libcaf.h (_gfortran_caf_atomic_define,
114         _gfortran_caf_atomic_ref, _gfortran_caf_atomic_op,
115         _gfortran_caf_atomic_cas): New prototypes.
116         * caf/single.c (_gfortran_caf_atomic_define,
117         _gfortran_caf_atomic_ref, _gfortran_caf_atomic_op,
118         _gfortran_caf_atomic_cas): New functions.
120 2014-07-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
122         * config/fpu-*.h (get_fpu_rounding_mode, set_fpu_rounding_mode,
123         support_fpu_rounding_mode): Clean up, mark unreachable code as such.
125 2014-07-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
127         * libgfortran.h (support_fpu_underflow_control,
128         get_fpu_underflow_mode, set_fpu_underflow_mode): New prototypes.
129         * config/fpu-*.h (support_fpu_underflow_control,
130         get_fpu_underflow_mode, set_fpu_underflow_mode):
131         New functions.
132         * ieee/ieee_arithmetic.F90: Support underflow control.
134 2014-07-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
136         * config/fpu-sysv.h (get_fpu_rounding_mode): Use FP_RN, FP_RP,
137         FP_RM, FP_RZ unconditionally.
138         (set_fpu_rounding_mode): Likewise.
140 2014-07-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
142         * libgfortran.h: Assume __GNUC__.
144 2014-07-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
146         * runtime/stop.c: Use C11 _Noreturn.
147         * libgfortran.h: Use C11 _Noreturn in prototypes.
148         Move REALPART, IMAGPART and COMPLEX_ASSIGN macros...
149         * intrinsics/c99_functions.c: ... here.
151 2014-07-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
153         * config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h,
154         config/fpu-glibc.h: Use static assertions.
156 2014-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
158         * configure, config.h.in: Regenerate.
159         * config/fpu-sysv.h: Include <assert.h>.
161 2014-07-02  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
163         * config/fpu-glibc.h: Fix comment about FE_DENORMAL.
165 2014-07-02  Uros Bizjak  <ubizjak@gmail.com>
167         * configure.host (ieee_flags): Add -mieee for alpha*.
169         * config/fpu-glibc.h (support_fpu_rounding_mode): Correctly handle
170         GFC_FPE_UPWARD, GFC_FPE_DOWNWARD and GFC_FPE_TOWARDZERO.
171         * config/fpu-aix.h (support_fpu_rounding_mode): Ditto.
173 2014-06-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
175         * config/fpu-387.h (my_fenv_t): Amend structure so it also works
176         on mingw32.
178 2014-06-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
180         PR libgfortran/61640
181         * io/list_read.c (next_char_internal): Adjust the read length to
182         a single wide character. (eat_spaces): Add missing paren.
183         * io/unix.c (mem_read4): Use the correct mem_alloc function for
184         wide character internal reads.
186 2014-06-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
188         PR fortran/29383
189         * configure.host: Add checks for IEEE support, rework priorities.
190         * configure.ac: Define IEEE_SUPPORT, check for fpsetsticky and
191         fpresetsticky.
192         * configure: Regenerate.
193         * Makefile.am: Build new ieee files, install IEEE_* modules.
194         * Makefile.in: Regenerate.
195         * gfortran.map (GFORTRAN_1.6): Add new symbols.
196         * libgfortran.h (get_fpu_trap_exceptions, set_fpu_trap_exceptions,
197         support_fpu_trap, set_fpu_except_flags, support_fpu_flag,
198         support_fpu_rounding_mode, get_fpu_state, set_fpu_state): New
199         prototypes.
200         * config/fpu-*.h (get_fpu_trap_exceptions,
201         set_fpu_trap_exceptions, support_fpu_trap, set_fpu_except_flags,
202         support_fpu_flag, support_fpu_rounding_mode, get_fpu_state,
203         set_fpu_state): New functions.
204         * ieee/ieee_features.F90: New file.
205         * ieee/ieee_exceptions.F90: New file.
206         * ieee/ieee_arithmetic.F90: New file.
207         * ieee/ieee_helper.c: New file.
209 2014-06-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
211         PR libgfortran/61499
212         * io/list_read.c (eat_spaces): Use a 'for' loop instead of
213         'while' loop to skip the loop if there are no bytes left in the
214         string. Only seek if actual spaces can be skipped.
216 2014-06-25  Tobias Burnus  <burnus@net-b.de>
218         * caf/single.c (assign_char4_from_char1, assign_char1_from_char4,
219         convert_type): New static functions.
220         (_gfortran_caf_get, _gfortran_caf_send): Use them.
222 2014-06-19  Tobias Burnus  <burnus@net-b.de>
224         * caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
225         _gfortran_caf_co_min): Fix stat setting.
227 2014-06-17  Tobias Burnus  <burnus@net-b.de>
229         * caf/libcaf.h (gfc_descriptor_t): New typedef.
230         (caf_vector_t): Update.
231         (_gfortran_caf_co_sum, _gfortran_caf_co_max, _gfortran_caf_co_min):
232         Remove vector-subscript argument.
233         (_gfortran_caf_co_send, _gfortran_caf_co_get,
234         _gfortran_caf_co_sendget): New.
235         * caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
236         _gfortran_caf_co_min): Remove vector-subscript argument.
237         (_gfortran_caf_co_send, _gfortran_caf_co_get,
238         _gfortran_caf_co_sendget): New.
240 2014-06-17  Janne Blomqvist  <jb@gcc.gnu.org>
242         * libgfortran.h (xmallocarray): New prototype.
243         * runtime/memory.c (xmallocarray): New function.
244         (xcalloc): Check for nonzero separately instead of multiplying.
245         * generated/*.c: Regenerated.
246         * intrinsics/cshift0.c (cshift0): Call xmallocarray instead of
247         xmalloc.
248         * intrinsics/eoshift0.c (eoshift0): Likewise.
249         * intrinsics/eoshift2.c (eoshift2): Likewise.
250         * intrinsics/pack_generic.c (pack_internal): Likewise.
251         (pack_s_internal): Likewise.
252         * intrinsics/reshape_generic.c (reshape_internal): Likewise.
253         * intrinsics/spread_generic.c (spread_internal): Likewise.
254         (spread_internal_scalar): Likewise.
255         * intrinsics/string_intrinsics_inc.c (string_trim): Likewise.
256         (string_minmax): Likewise.
257         * intrinsics/transpose_generic.c (transpose_internal): Likewise.
258         * intrinsics/unpack_generic.c (unpack_internal): Likewise.
259         * io/list_read.c (nml_touch_nodes): Don't cast xmalloc return value.
260         * io/transfer.c (st_set_nml_var): Call xmallocarray instead of
261         xmalloc.
262         * io/unit.c (get_internal_unit): Likewise.
263         (filename_from_unit): Don't cast xmalloc return value.
264         * io/write.c (nml_write_obj): Likewise, formatting.
265         * m4/bessel.m4 (bessel_jn_r'rtype_kind`): Call xmallocarray
266         instead of xmalloc.
267         (besse_yn_r'rtype_kind`): Likewise.
268         * m4/cshift1.m4 (cshift1): Likewise.
269         * m4/eoshift1.m4 (eoshift1): Likewise.
270         * m4/eoshift3.m4 (eoshift3): Likewise.
271         * m4/iforeach.m4: Likewise.
272         * m4/ifunction.m4: Likewise.
273         * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code):
274         Likewise.
275         * m4/in_pack.m4 (internal_pack_'rtype_ccode`): Likewise.
276         * m4/matmul.m4 (matmul_'rtype_code`): Likewise.
277         * m4/matmull.m4 (matmul_'rtype_code`): Likewise.
278         * m4/pack.m4 (pack_'rtype_code`): Likewise.
279         * m4/reshape.m4 (reshape_'rtype_ccode`): Likewise.
280         * m4/shape.m4 (shape_'rtype_kind`): Likewise.
281         * m4/spread.m4 (spread_'rtype_code`): Likewise.
282         (spread_scalar_'rtype_code`): Likewise.
283         * m4/transpose.m4 (transpose_'rtype_code`): Likewise.
284         * m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
285         (unpack1_'rtype_code`): Likewise.
286         * runtime/convert_char.c (convert_char1_to_char4): Likewise.
287         (convert_char4_to_char1): Simplify.
288         * runtime/environ.c (init_unformatted): Call xmallocarray instead
289         of xmalloc.
290         * runtime/in_pack_generic.c (internal_pack): Likewise.
292 2014-06-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
294         PR libfortran/60468
295         * configure.ac: Include <math.h> when checking for fp_except_t
296         and fp_rnd_t types.
297         * configure: Regenerate.
299 2014-06-08  Janne Blomqvist  <jb@gcc.gnu.org>
301         PR libfortran/56981
302         * io/unix.h (struct stream_vtable): Add new member function,
303         markeor.
304         (smarkeor): New inline function.
305         (flush_if_unbuffered): Remove prototype.
306         * io/unix.c (raw_markeor): New function.
307         (raw_vtable): Initialize markeor member.
308         (buf_markeor): New function.
309         (buf_vtable): Initialize markeor member.
310         (mem_vtable): Likewise.
311         (mem4_vtable): Likewise.
312         (flush_if_unbuffered): Remove function.
313         * io/transfer.c (next_record): Call smarkeor instead of
314         flush_if_unbuffered.
316 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
318         * intrinsics/getcwd.c: Include stdlib.h.
320 2014-05-26  Janne Blomqvist  <jb@gcc.gnu.org>
322         * libgfortran.h (xrealloc): New prototype.
323         * runtime/memory.c (xrealloc): New function.
324         * io/fbuf.c (fbuf_alloc): Use xrealloc.
325         * io/list_read.c (push_char_default): Likewise.
326         (push_char4): Likewise.
328 2014-05-26  Janne Blomqvist  <jb@gcc.gnu.org>
330         PR libfortran/61310
331         * intrinsics/ctime.c (strctime): Rename to gf_ctime, use snprintf
332         instead of strftime.
333         (fdate): Use gf_ctime.
334         (fdate_sub): Likewise.
335         (ctime): Likewise.
336         (ctime_sub): Likewise.
338 2014-05-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
340         PR libgfortran/55117
341         * io/list_read.c (extended_look_ahead): New helper function to
342         scan the namelist name and look for matches with the new '+'
343         extended type parent indicator.  (str_comp_extended): New
344         helper function to compare the namelist name with the varname
345         namelist. (find_nml_name): Use the new helper functions to match
346         the extended type varnames.
348 2014-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu>
350         PR libfortran/61173
351         * io/list_read.c (eat_spaces): If the next character pointed to
352         is a space, don't seek, must be at the end.
354 2014-05-23  Hans-Peter Nilsson  <hp@axis.com>
356         * configure.ac [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define.
357         * configure: Regenerate.
359 2014-05-23  Janne Blomqvist  <jb@gcc.gnu.org>
361         PR libfortran/60324
362         * runtime/string.c: Include stdlib.h.
364 2014-05-22  Janne Blomqvist  <jb@gcc.gnu.org>
366         PR libfortran/60324
367         * config.h.in: Regenerated.
368         * configure: Regenerated.
369         * configure.ac (AC_CHECK_FUNCS_ONCE): Check for strnlen and
370         strndup.
371         * libgfortran.h (fc_strdup): New prototype.
372         * runtime/string.c (strnlen): New fallback function.
373         (strndup): New fallback function.
374         (fc_strdup): New function.
375         * io/close.c (st_close): Use fc_strdup.
376         * io/open.c (new_unit): Likewise.
377         (already_open): Likewise.
378         * io/unit.c (filename_from_unit): Likewise.
379         * io/unix.c (unpack_filename): Remove function.
380         (regular_file): Rename to regular_file2, add path argument.
381         (regular_file): New function calling regular_file2.
382         (compare_file_filename): Use fc_strdup.
383         (find_file): Likewise.
384         (delete_file): Likewise.
385         (file_exists): Likewise.
386         (file_size): Likewise.
387         (inquire_sequential): Likewise.
388         (inquire_direct): Likewise.
389         (inquire_formatted): Likewise.
390         (inquire_access): Likewise.
391         * io/unix.h (unpack_filename): Remove prototype.
392         * runtime/main.c (please_free_exe_path_when_done): Change type to
393         bool.
394         (store_exe_path): Use malloced buffer, grow as needed.
396 2014-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu>
398         PR libfortran/52539
399         * io/io.h (gfc_unit): New function pointers *next_char_fn_ptr
400         and *push_char_fn_ptr.
401         *io/list_read.c (next_char): Create macro with this name to call
402         the new function pointer. Split the original next_char function
403         into three new functions. (next_char_default, next_char_internal,
404         next_char_utf8): New functions. (push_char): Create macro with
405         this name to call new function pointer. Split the original
406         push_char into three new functions. (push_char_default,
407         push_char_internal, push_char4): New functions. (set_workers):
408         New function to initilize the function pointers depending on the
409         type of IO to be performed. (list_formatted_read_scalar): Use
410         set_workers function. (finish_list_read): Likewise.
411         (namelist_read): Likewise.
412         (nml_get_obj_data): Use push_char_default.
414 2014-05-16  Janne Blomqvist  <jb@gcc.gnu.org>
416         PR libfortran/61187
417         * io/unix.c (raw_close): Check if s->fd is -1.
418         (fd_to_stream): Check return value of fstat(), handle error.
420 2014-05-12  Janne Blomqvist  <jb@gcc.gnu.org>
422         PR libfortran/61035
423         * intrinsics/getcwd.c (getcwd_i4_sub): Avoid potentially large
424         stack allocation, avoid extra copying in the common case.
426 2014-05-12  Janne Blomqvist  <jb@gcc.gnu.org>
428         * configure.ac (AM_CFLAGS): Use -std=gnu11.
429         (CFLAGS): Likewise.
430         * configure: Regenerated.
432 2014-05-11  Tobias Burnus  <burnus@net-b.de>
434         * caf/libcaf.h (_gfortran_caf_num_images): Change type of
435         second argument to int.
436         * caf/mpi.c (_gfortran_caf_num_images): Ditto.
437         * caf/single.c (_gfortran_caf_num_images): Ditto.
439 2014-05-08  Tobias Burnus  <burnus@net-b.de>
441         * caf/libcaf.h (caf_vector_t, _gfortran_caf_co_sum,
442         _gfortran_caf_co_min, _gfortran_caf_co_max): Declare
443         * caf/single.c
445 2014-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu>
447         PR libfortran/61049
448         * io/list_read.c (list_formatted_read_scalar): Use eat_separator
449         and delete extraneous code.
451 2014-04-30  Tobias Burnus  <burnus@net-b.de>
453         * caf/libcaf.h (_gfortran_caf_this_image, _gfortran_caf_num_images):
454         New prototypes.
455         (_gfortran_caf_init): Change prototype.
456         (mpi_token_t): New typedef.
457         (TOKEN): New define.
458         * caf/mpi.c (_gfortran_caf_this_image, _gfortran_caf_num_images):
459         New functions.
460         (_gfortran_caf_init): Update.
461         (_gfortran_caf_finalize, _gfortran_caf_register,
462         _gfortran_caf_deregister): Use mpi_token_t.
463         * caf/single.c (_gfortran_caf_this_image, _gfortran_caf_num_images):
464         New functions.
465         (_gfortran_caf_init): Update.
466         (_gfortran_caf_finalize, _gfortran_caf_register,
467         _gfortran_caf_deregister): Use mpi_token_t, simplify.
469 2014-04-26  Jerry DeLisle  <jvdelisle@gcc.gnu>
471         PR libfortran/52539
472         * io/list_read.c: Add uchar typedef. (push_char4): New function
473         to save kind=4 character. (next_char_utf8): New function to read
474         a single UTF-8 encoded character value. (read_chracter): Update
475         to use the new functions for reading UTF-8 strings.
476         (list_formatted_read_scalar): Update to handle list directed
477         reads of UTF-8 strings. (nml_read_obj): Likewise update for
478         UTF-8 strings in namelists.
479         * io/write.c (nml_write_obj): Add kind=4 character support for
480         namelist writes.
482 2014-04-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
484         * configure.ac: Quote usage of ac_cv_func_clock_gettime in if test.
485         * configure: Regenerate.
487 2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
489         * config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
490         check.
492 2014-04-11  Jerry DeLisle  <jvdelisle@gcc.gnu>
494         PR libfortran/60810
495         io/unit.c (is_trim_ok): If internal unit is array, do not trim.
497 2014-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu>
499         PR libfortran/60148
500         * io/transfer.c (data_transfer_init): If std= was specified, set
501         delim status to DELIM_NONE of no other was specified.
503 2014-03-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
505         * configure.ac: Check for presence of fcntl.
506         * configure: Regenerate.
507         * config.h.in: Regenerate.
508         * io/unix.c (set_close_on_exec): Check for HAVE_FCNTL.
510 2014-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu>
512         PR libfortran/48600
513         * io/list_read.c (list_formatted_read_scalar): Do not use
514         eat_separator. Explicitly set the comma and end-of-line flags.
515         Check for END condition from finish_separator.
517 2014-03-15  Jerry DeLisle  <jvdelisle@gcc.gnu>
519         PR libfortran/58324
520         * io/list_read.c (finish_list_read): Read one character to check
521         for the end of the file.  If it is the end, then issue the file
522         end error message.  If not, use eat_line to reach the end
523         without giving error.  The next attempt to read will then
524         issue the error as described above.
526 2014-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu>
528         PR libfortran/38199
529         * io/read.c (read_decimal): Quickly skip spaces to avoid calls
530         to next_char.
531         * io/unit.c (is_trim_ok): New helper function to check various
532         conditions to see if its OK to trim the internal unit string.
533         (get_internal_unit): Use LEN_TRIM to shorten selected internal
534         unit strings for optimizing READ. Enable this optimization for
535         formatted READ.
536         * io/list_read.c (finish_list_read): Don't call eat_line for
537         internal units.
539 2014-03-08  Jerry DeLisle  <jvdelisle@gcc.gnu>
541         PR libfortran/38199
542         * io/list_read.c (next_char): Mark unlikely error checks.
543         (eat_spaces): For character array reading, skip ahead over
544         spaces rather than call next_char multiple times.
546 2014-03-08  Tobias Burnus  <burnus@net-b.de>
548         * libgfortran.h (unlikely, likely): Add usage comment.
550 2014-03-08  Dominique d'Humieres  <dominiq@lps.ens.fr>
552         PR libgfortran/60128
553         * io/write_float.def (output_float): Remove unused variable
554         nzero_real. Replace a double space with a single one.
555         (determine_en_precision): Fix wrong handling of the EN format.
557 2014-03-03  Jerry DeLisle  <jvdelisle@gcc.gnu>
559         PR libfortran/60148
560         * io/inquire.c (inquire_via_unit): In the case of
561         DELIM_UNSPECIFIED set inquire return string to "NONE".
562         * io/list_read.c (read_character): In the case of DELIM_NONE and
563         namelists, complete the character read using the namelist
564         variable length.
565         * io/open.c (new_unit): Don't set delim status to none if not
566         specified so that DELIM_UNSPECIFIED can be used later.
567         * io/transfer.c (data_transfer_init): For namelist I/O, if the
568         unit delim status is unspecified set the current status to quote.
569         Otherwise, set current status to the unit status.
570         * io/unit.c (get_internel_unit, init_unit): Remember to set
571         flags_delim initially to DELIM_UNSPECIFIED so defaults come out
572         correctly.
573         * io/write.c (write_character): Add a new function argument
574         "mode" to signify that raw output is to be used vs output with
575         delimiters. If the mode is set to DELIM (1) proceed with
576         delimiters. (list_formatted_write_scalar): Write the separator
577         only if a delimiter was previously specified. Update the call to
578         write_character with the mode argument given.
579         (namelist_write_newline): Use the mode argument. (nml_write_obj):
580         Use the mode argument. Remove use of tmp_delim. Write the
581         semi-colon or comma correctly only when needed with using
582         delimiters. Cleanup whitespace.
583         (namelist_write): If delim is not specified in namelist I/O,
584         default to using quotes. Get rid of the tmp_delim variable and
585         use the new mode argument in write_character.
587 2014-02-21  Tobias Burnus  <burnus@net-b.de>
589         PR fortran/60286
590         * libgfortran/io/inquire.c (yes, no): New static const char vars.
591         (inquire_via_unit): Use them. Use OPEN mode instead of using
592         POSIX's access to query about write=, read= and readwrite=.
594 2014-01-20  Jerry DeLisle  <jvdelisle@gcc.gnu>
595             Dominique d'Humieres  <dominiq@lps.ens.fr>
597         * io/write_float.def (output_float): Remove inadvertent test
598         code from previous patch.
600 2014-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu>
601             Dominique d'Humieres  <dominiq@lps.ens.fr>
603         PR libfortran/59771
604         PR libfortran/59774
605         PR libfortran/59836
606         * io/write_float.def (output_float): Fix wrong handling of the
607         Fw.0 format.
608         (output_float_FMT_G_): Fixes rounding issues with -m32.
610 2014-01-11  Jerry DeLisle  <jvdelisle@gcc.gnu>
611             Dominique d'Humieres  <dominiq@lps.ens.fr>
612             Steven G. Kargl  <kargl@gcc.gnu.org>
614         PR libfortran/59700
615         PR libfortran/59764
616         * io/io.h (struct st_parameter_dt): Assign expanded_read flag to
617         unused bit. Define new variable line_buffer_pos.
618         * io/list_read.c (free_saved, next_char, l_push_char,
619         read_logical, read_real): Replace use of item_count with
620         line_buffer_pos for line_buffer look ahead.
621         (read_logical, read_integer, parse_real, read_real, check_type):
622         Adjust location of free_line to after generating error messages
623         to retain the correct item count for the message.
625 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
627         Update copyright years
629 Copyright (C) 2013-2014 Free Software Foundation, Inc.
631 Copying and distribution of this file, with or without modification,
632 are permitted in any medium without royalty provided the copyright
633 notice and this notice are preserved.