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