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