1 2011-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
4 * io/write_float.def (output_float_FMT_G): Use current rounding mode
5 to set the rounding parameters. (output_float): Skip rounding
8 2011-04-16 Janne Blomqvist <jb@gcc.gnu.org>
10 * intrinsics/date_and_time.c (date_and_time): Remove sprintf CPP
12 * io/format.c (format_error): Use snprintf instead of sprintf.
13 * io/list_read.c: Move snprintf fallback macro to libgfortran.h.
14 (convert_integer): Use snprintf instead of sprintf.
15 (parse_repeat): Likewise.
16 (read_logical): Likewise.
17 (read_integer): Likewise.
18 (read_character): Likewise.
19 (parse_real): Likewise.
20 (read_complex): Likewise.
21 (read_real): Likewise.
22 (check_type): Likewise.
23 (nml_parse_qualifier): Add string length argument, use snprintf
25 (nml_get_obj_data): Use snprintf instead of sprintf.
26 * io/open.c (new_unit): Remove sprintf CPP branch, use snprintf
28 * io/transfer.c (require_type): Use snprintf instead of sprintf.
29 * io/unix.c (tempfile): Likewise.
30 * io/write.c (nml_write_obj): Likewise.
31 * io/write_float.def (output_float): Remove sprintf CPP branch,
32 use snprintf instead of sprintf.
33 * libgfortran.h: Add fallback snprintf macro from io/list_read.c.
34 * runtime/backtrace.c (show_backtrace): Remove sprintf CPP branch.
35 * runtime/main.c (store_exe_path): Use snprintf instead of
38 2011-04-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
41 * io/write_float.def (write_infnan): Set width properly for G0.
43 2011-04-15 Tobias Burnus <burnus@net-b.de>
46 * Makefile.am: Build and install caf/single.c as
48 * Makefile.in: Regenerate.
50 2011-04-15 Janne Blomqvist <jb@gcc.gnu.org>
53 * configure: Regenerated.
54 * config.h.in: Regenerated.
55 * acinclude.m4: Add alpha*-dec-osf* to gthread blacklist.
56 * configure.ac: Use separate symbol for clock_gettime in librt.
57 * intrinsics/system_clock.c: Use weakrefs only when needed and
60 2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
62 * configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t,
64 * libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for
65 index_type, change cshift0* prototypes.
66 * config.h.in: Regenerated.
67 * configure: Regenerated.
68 * intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t.
69 * io/io.h (array_loop_spec): Use index_type instead of ssize_t.
70 * io/list_read.c (nml_parse_qualifier): Likewise.
71 * io/write.c (nml_write_obj): Likewise.
72 * m4/cshift0.c (cshift0_'rtype_code`): Likewise.
73 * generated/cshift0_*.c: Regenerated.
75 2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
77 * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS.
78 * Makefile.in: Regenerated.
80 2011-04-06 Tobias Burnus <burnus@net-b.de>
83 * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
84 Add global variable caf_mpi_initialized and use it for when
87 2011-04-04 Tobias Burnus <burnus@net-b.de>
89 * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.
90 (fallback_access, open_internal4, compare_file_filename,
91 find_file, file_size, inquire_sequential, inquire_direct,
92 inquire_formatted): Use "struct stat" instead of gfstat_t.
94 2011-03-27 Tobias Burnus <burnus@net-b.de>
97 * caf/libcaf.h: New - coarray communication library.
101 2011-03-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
104 * io/read.c (read_x): Re-implement using fbuf_getc.
106 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
109 * configure.ac (gfortran_use_symver): Handle --disable-symvers.
110 * configure: Regenerate.
112 2011-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
115 * io/io.h (convert_infnan): Declare.
116 * io/read.c (convert_infnan): New.
117 (read_f): Use convert_infnan to convert INFs and NANs.
118 * list_read.c (parse_real, read_real): Likewise.
120 2011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
123 * io/unix.c (tempfile): Work around poor mktemp() implementations.
125 2011-03-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
128 * acinclude.m4: Don't use AC_TRY_ macros.
129 * configure.ac: Likewise.
130 * configure: Regenerate.
132 2011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org>
135 * m4/ifunction.m4: If return array is empty, return.
136 * m4/ifunction_logical.m4: Likewise.
137 * generated/all_l16.c: Regenerated.
138 * generated/all_l1.c: Regenerated.
139 * generated/all_l2.c: Regenerated.
140 * generated/all_l4.c: Regenerated.
141 * generated/all_l8.c: Regenerated.
142 * generated/any_l16.c: Regenerated.
143 * generated/any_l1.c: Regenerated.
144 * generated/any_l2.c: Regenerated.
145 * generated/any_l4.c: Regenerated.
146 * generated/any_l8.c: Regenerated.
147 * generated/count_16_l.c: Regenerated.
148 * generated/count_1_l.c: Regenerated.
149 * generated/count_2_l.c: Regenerated.
150 * generated/count_4_l.c: Regenerated.
151 * generated/count_8_l.c: Regenerated.
152 * generated/maxloc1_16_i16.c: Regenerated.
153 * generated/maxloc1_16_i1.c: Regenerated.
154 * generated/maxloc1_16_i2.c: Regenerated.
155 * generated/maxloc1_16_i4.c: Regenerated.
156 * generated/maxloc1_16_i8.c: Regenerated.
157 * generated/maxloc1_16_r10.c: Regenerated.
158 * generated/maxloc1_16_r16.c: Regenerated.
159 * generated/maxloc1_16_r4.c: Regenerated.
160 * generated/maxloc1_16_r8.c: Regenerated.
161 * generated/maxloc1_4_i16.c: Regenerated.
162 * generated/maxloc1_4_i1.c: Regenerated.
163 * generated/maxloc1_4_i2.c: Regenerated.
164 * generated/maxloc1_4_i4.c: Regenerated.
165 * generated/maxloc1_4_i8.c: Regenerated.
166 * generated/maxloc1_4_r10.c: Regenerated.
167 * generated/maxloc1_4_r16.c: Regenerated.
168 * generated/maxloc1_4_r4.c: Regenerated.
169 * generated/maxloc1_4_r8.c: Regenerated.
170 * generated/maxloc1_8_i16.c: Regenerated.
171 * generated/maxloc1_8_i1.c: Regenerated.
172 * generated/maxloc1_8_i2.c: Regenerated.
173 * generated/maxloc1_8_i4.c: Regenerated.
174 * generated/maxloc1_8_i8.c: Regenerated.
175 * generated/maxloc1_8_r10.c: Regenerated.
176 * generated/maxloc1_8_r16.c: Regenerated.
177 * generated/maxloc1_8_r4.c: Regenerated.
178 * generated/maxloc1_8_r8.c: Regenerated.
179 * generated/maxval_i16.c: Regenerated.
180 * generated/maxval_i1.c: Regenerated.
181 * generated/maxval_i2.c: Regenerated.
182 * generated/maxval_i4.c: Regenerated.
183 * generated/maxval_i8.c: Regenerated.
184 * generated/maxval_r10.c: Regenerated.
185 * generated/maxval_r16.c: Regenerated.
186 * generated/maxval_r4.c: Regenerated.
187 * generated/maxval_r8.c: Regenerated.
188 * generated/minloc1_16_i16.c: Regenerated.
189 * generated/minloc1_16_i1.c: Regenerated.
190 * generated/minloc1_16_i2.c: Regenerated.
191 * generated/minloc1_16_i4.c: Regenerated.
192 * generated/minloc1_16_i8.c: Regenerated.
193 * generated/minloc1_16_r10.c: Regenerated.
194 * generated/minloc1_16_r16.c: Regenerated.
195 * generated/minloc1_16_r4.c: Regenerated.
196 * generated/minloc1_16_r8.c: Regenerated.
197 * generated/minloc1_4_i16.c: Regenerated.
198 * generated/minloc1_4_i1.c: Regenerated.
199 * generated/minloc1_4_i2.c: Regenerated.
200 * generated/minloc1_4_i4.c: Regenerated.
201 * generated/minloc1_4_i8.c: Regenerated.
202 * generated/minloc1_4_r10.c: Regenerated.
203 * generated/minloc1_4_r16.c: Regenerated.
204 * generated/minloc1_4_r4.c: Regenerated.
205 * generated/minloc1_4_r8.c: Regenerated.
206 * generated/minloc1_8_i16.c: Regenerated.
207 * generated/minloc1_8_i1.c: Regenerated.
208 * generated/minloc1_8_i2.c: Regenerated.
209 * generated/minloc1_8_i4.c: Regenerated.
210 * generated/minloc1_8_i8.c: Regenerated.
211 * generated/minloc1_8_r10.c: Regenerated.
212 * generated/minloc1_8_r16.c: Regenerated.
213 * generated/minloc1_8_r4.c: Regenerated.
214 * generated/minloc1_8_r8.c: Regenerated.
215 * generated/minval_i16.c: Regenerated.
216 * generated/minval_i1.c: Regenerated.
217 * generated/minval_i2.c: Regenerated.
218 * generated/minval_i4.c: Regenerated.
219 * generated/minval_i8.c: Regenerated.
220 * generated/minval_r10.c: Regenerated.
221 * generated/minval_r16.c: Regenerated.
222 * generated/minval_r4.c: Regenerated.
223 * generated/minval_r8.c: Regenerated.
224 * generated/product_c10.c: Regenerated.
225 * generated/product_c16.c: Regenerated.
226 * generated/product_c4.c: Regenerated.
227 * generated/product_c8.c: Regenerated.
228 * generated/product_i16.c: Regenerated.
229 * generated/product_i1.c: Regenerated.
230 * generated/product_i2.c: Regenerated.
231 * generated/product_i4.c: Regenerated.
232 * generated/product_i8.c: Regenerated.
233 * generated/product_r10.c: Regenerated.
234 * generated/product_r16.c: Regenerated.
235 * generated/product_r4.c: Regenerated.
236 * generated/product_r8.c: Regenerated.
237 * generated/sum_c10.c: Regenerated.
238 * generated/sum_c16.c: Regenerated.
239 * generated/sum_c4.c: Regenerated.
240 * generated/sum_c8.c: Regenerated.
241 * generated/sum_i16.c: Regenerated.
242 * generated/sum_i1.c: Regenerated.
243 * generated/sum_i2.c: Regenerated.
244 * generated/sum_i4.c: Regenerated.
245 * generated/sum_i8.c: Regenerated.
246 * generated/sum_r10.c: Regenerated.
247 * generated/sum_r16.c: Regenerated.
248 * generated/sum_r4.c: Regenerated.
249 * generated/sum_r8.c: Regenerated.
251 2011-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
254 * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.
256 2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
259 * intrinsics/ctime.c (strctime): Use builtins to check localtime_r
262 2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
265 * intrinsics/ctime.c (strctime): Don't use return value of
268 2011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
271 * io/write_float.def (output_float): Move handling of w = 0 to after
272 output rounding. Check for zero and set zero_flag accordingly. Set
273 width according to zero_flag. Add better comments.
275 2011-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
278 * io/list_read.c (namelist_read): Intialize the error string buffere.
279 If pprev_nl was used during the previous namelist read and the rank
280 was zero, reset the pointer to NULL for the next namelist read.
282 2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
285 * unix.c (fallback_access): Fix file descriptor leaks.
287 2011-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
289 * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable
290 tested in configure.host.
291 * configure: Regenerate.
293 2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
296 * config.h.in: Regenerated.
297 * configure: Regenerated.
298 * configure.ac: Remove checks for ctime and ctime_r, add check for
300 * intrinsics/date_and_time.c (localtime_r): Move fallback
301 implementation to time_1.h.
302 * intrinsics/time_1.h (localtime_r): Fallback implementation.
303 * intrinsics/ctime.c: Include time_1.h.
304 (ctime_r): Remove fallback implementation.
305 (strctime): New function.
306 (fdate): Use strctime instead of ctime_r.
307 (fdate_sub): Likewise.
309 (ctime_sub): Likewise.
311 2011-02-24 Jakub Jelinek <jakub@redhat.com>
314 * io/transfer.c (read_sf): Call fbuf_getptr only at the end,
315 and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it.
317 2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
320 * configure.ac: Add test for POSIX getpwuid_r.
321 * intrinsics/getlog.c (getlog): CPP test for
322 HAVE_POSIX_GETPWUID_R.
323 * config.h.in: Regenerated.
324 * configure: Regenerated.
326 2011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
329 * io/write_float.def (output_float): Remove special case handling of
332 2011-02-23 Janne Blomqvist <jb@gcc.gnu.org>
333 Jerry DeLisle <jvdelisle@gcc.gnu.org>
336 * io/fbuf.h (fbuf_getptr): New inline function.
337 * io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan
338 through the string instead of fbuf_read.
340 2011-02-22 Tobias Burnus <burnus@net-b.de>
341 Kai-Uwe Eckhardt <kuehro@gmx.de>
344 * intrinsics/c99_functions.c (roundl): Make C valid for
347 2011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
350 * io/write_float.def (output_float): Adjust width for F0.d to
351 allow space for negative signs on zero.
353 2011-02-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
356 * io/list_read.c (read_logical): Check for end of line before calling
357 eat_line. (read_integer): Likewise. (parse_real): Don't unget the
358 separator. Check for end of line before calling eat_line.
359 (read_complex): Allow line-end before and after parenthesis and comma.
360 Check for end of line before calling eat_line. (read_real): Check for
361 end of line before calling eat_line.
363 2011-02-16 Jakub Jelinek <jakub@redhat.com>
366 * gfortran.map (GFORTRAN_1.4): Export
367 _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and
368 _gfortran_{cshift0,eoshift{0,2}}_16_char4.
370 2011-02-15 Tobias Burnus <burnus@net-b.de>
374 * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from
375 libquadmath, which uses more features.
376 * configure: Regenerate.
378 2011-02-14 Jakub Jelinek <jakub@redhat.com>
381 * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of
382 quadmath_flt128tostr.
383 * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead
384 of quadmath_flt128tostr.
386 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
388 * Makefile.in: Regenerate.
389 * aclocal.m4: Likewise.
390 * configure: Likewise.
392 2011-02-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
395 * io/write_float.def (output_float): Eliminate some redundant code.
396 Adjust width for case of F0.X for values of zero and all other values.
397 Expand cases where '*' is set to give cleaner results.
399 2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
402 * intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c.
403 (weak_gettime): Likewise.
404 (gf_gettime): Change API, move weak_gettime() usage to
406 * intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define.
407 (gf_gettime_mono): New function.
408 (system_clock_4): Use gf_gettime_mono().
409 (system_clock_8): Likewise.
410 * intrinsics/date_and_time.c (date_and_time): Update gf_gettime()
413 2011-02-02 Janne Blomqvist <jb@gcc.gnu.org>
416 * configure: Regenerated.
417 * configure.ac: Don't add librt to LIBS.
418 * intrinsics/time_1.h (weak_gettime): Weakref trickery for
420 (gf_gettime): Use weak_gettime() instead of clock_gettime().
422 2011-02-01 Janne Blomqvist <jb@gcc.gnu.org>
424 * intrinsics/time_1.h: Include errno.h needed by fallbacks.
426 2011-01-31 Janne Blomqvist <jb@gcc.gnu.org>
428 * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro.
430 2011-01-31 Janne Blomqvist <jb@gcc.gnu.org>
432 * configure.ac: Check for clock_gettime().
433 * configure: Regenerated.
434 * config.h.in: Regenerated.
435 * intrinsics/time_1.h (__time_1): Rename to gf_cputime, add
437 (gf_gettime): New function.
438 * intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime.
439 * intrinsics/date_and_time.c (date_and_time): Use gf_gettime.
440 * intrinsics/dtime.c (dtime_sub): Use gf_cputime.
441 * intrinsics/etime.c (etime_sub): Use gf_cputime.
442 * intrinsics/system_clock.c (system_clock_4): Use gf_gettime.
443 (system_clock_8): Use gf_gettime, increase count rate to allow
444 nanosecond precision, remove overflow prone branch.
446 2011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
449 * io/write_float.def (write_infnan): Use calculate_sign to determine
450 if the sign should be given and check field widths accordingly.
452 2011-01-29 Kai Tietz <kai.tietz@onevision.com>
454 * intrinsics/ctime.c (ctime_r): Improve implementation.
456 2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
459 * config.h.in: Regenerated.
460 * configure: Regenerated.
461 * configure.ac: Add check for ctime_r().
462 * intrinsics/ctime.c (ctime_r): Fallback implementation.
463 (fdate): Use ctime_r() instead of ctime().
464 (fdate_sub): Likewise.
466 (ctime_sub): Likewise.
468 2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
471 * config.h.in: Regenerated.
472 * configure: Regenerated.
473 * configure.ac: Add check for ttyname_r.
474 * io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype.
475 * io/unix.c (stream_ttyname): Use ttyname_r if available, conform
477 * io/inquire.c (inquire_via_unit): Use changed stream_ttyname.
478 * io/intrinsics.c (ttynam_sub): Likewise.
481 2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
484 * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common
486 * config.h.in: Regenerate.
487 * configure: Regenerate.
489 2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
492 * io/write_float.def (write_infnan): Adjust processor selected width
495 2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
498 * io/write_float.def (output_float): Return SUCCESS or FAILURE and use
499 the result to set the padding.
501 2011-01-26 Kai Tietz <kai.tietz@onevision.com>
503 * intrinsics/getlog.c (getlog): Fix label/statement issue.
505 2011-01-25 Janne Blomqvist <jb@gcc.gnu.org>
508 * config.h.in: Regenerated.
509 * configure: Regenerated.
510 * configure.ac: Add check for getpwuid_r.
511 * intrinsics/getlog.c (getlog): Use getpwuid_r() if available.
513 2011-01-22 Janne Blomqvist <jb@gcc.gnu.org>
516 * config.h.in: Regenerated.
517 * configure: Regenerated.
518 * configure.ac: Check presence of strerror_r.
519 * intrinsics/gerror.c (gerror): Use gf_strerror, modify logic.
520 * io/unix.c (get_oserror): Remove.
521 * libgfortran.h (gf_strerror): Add prototype.
522 (get_oserror): Remove prototype.
523 * runtime/error.c (gf_strerror): New function.
524 (os_error): Use gf_strerror instead of get_oserror.
525 (generate_errror): Likewise.
527 2011-01-17 Janne Blomqvist <jb@gcc.gnu.org>
530 * io/unix.c (tempfile): Set opp->file and opp->file_len also if an
533 2011-01-16 Jakub Jelinek <jakub@redhat.com>
536 * io/write_float.def (DTOAQ): Use quadmath_flt128tostr
537 instead of quadmath_dtoa.
538 * io/transfer128.c (tmp1, tmp2): New variables, bring in
539 strtoflt128 and quadmath_flt128tostr.
540 (transfer_real128, transfer_real128_write, transfer_complex128,
541 transfer_complex128_write): Remove tmp1/tmp2 variables.
542 * io/read.c (convert_real): Use strtoflt128 instead of
543 quadmath_strtopQ, adjust for the changed arguments and return
546 2011-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
549 * io/unix.c (unpack_filename): Return non-zero if the filename passed
552 2011-01-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
555 * io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the
556 duplicate calls via next_record.
559 Copyright (C) 2011 Free Software Foundation, Inc.
561 Copying and distribution of this file, with or without modification,
562 are permitted in any medium without royalty provided the copyright
563 notice and this notice are preserved.