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