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