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