re PR libfortran/48589 (Invalid G0/G0.d editing for NaN/infinity)
[gcc.git] / libgfortran / ChangeLog
1 2011-04-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2
3 PR libgfortran/48589
4 * io/write_float.def (write_infnan): Set width properly for G0.
5
6 2011-04-15 Tobias Burnus <burnus@net-b.de>
7
8 PR fortran/18918
9 * Makefile.am: Build and install caf/single.c as
10 libcaf_single.a.
11 * Makefile.in: Regenerate.
12
13 2011-04-15 Janne Blomqvist <jb@gcc.gnu.org>
14
15 PR libfortran/47571
16 * configure: Regenerated.
17 * config.h.in: Regenerated.
18 * acinclude.m4: Add alpha*-dec-osf* to gthread blacklist.
19 * configure.ac: Use separate symbol for clock_gettime in librt.
20 * intrinsics/system_clock.c: Use weakrefs only when needed and
21 supported.
22
23 >>>>>>> .r172501
24 2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
25
26 * configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t,
27 check for ptrdiff_t.
28 * libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for
29 index_type, change cshift0* prototypes.
30 * config.h.in: Regenerated.
31 * configure: Regenerated.
32 * intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t.
33 * io/io.h (array_loop_spec): Use index_type instead of ssize_t.
34 * io/list_read.c (nml_parse_qualifier): Likewise.
35 * io/write.c (nml_write_obj): Likewise.
36 * m4/cshift0.c (cshift0_'rtype_code`): Likewise.
37 * generated/cshift0_*.c: Regenerated.
38
39 2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
40
41 * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS.
42 * Makefile.in: Regenerated.
43
44 2011-04-06 Tobias Burnus <burnus@net-b.de>
45
46 PR fortran/18918
47 * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
48 Add global variable caf_mpi_initialized and use it for when
49 finalizing.
50
51 2011-04-04 Tobias Burnus <burnus@net-b.de>
52
53 * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.
54 (fallback_access, open_internal4, compare_file_filename,
55 find_file, file_size, inquire_sequential, inquire_direct,
56 inquire_formatted): Use "struct stat" instead of gfstat_t.
57
58 2011-03-27 Tobias Burnus <burnus@net-b.de>
59
60 PR fortran/18918
61 * caf/libcaf.h: New - coarray communication library.
62 * caf/mpi.c: New.
63 * caf/single.c: New.
64
65 2011-03-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
66
67 PR libgfortran/48030
68 * io/read.c (read_x): Re-implement using fbuf_getc.
69
70 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
71
72 PR bootstrap/48135
73 * configure.ac (gfortran_use_symver): Handle --disable-symvers.
74 * configure: Regenerate.
75
76 2011-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
77
78 PR fortran/35667
79 * io/io.h (convert_infnan): Declare.
80 * io/read.c (convert_infnan): New.
81 (read_f): Use convert_infnan to convert INFs and NANs.
82 * list_read.c (parse_real, read_real): Likewise.
83
84 2011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
85
86 PR libfortran/47439
87 * io/unix.c (tempfile): Work around poor mktemp() implementations.
88
89 2011-03-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
90
91 PR libfortran/47883
92 * acinclude.m4: Don't use AC_TRY_ macros.
93 * configure.ac: Likewise.
94 * configure: Regenerate.
95
96 2011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org>
97
98 PR libfortran/48066
99 * m4/ifunction.m4: If return array is empty, return.
100 * m4/ifunction_logical.m4: Likewise.
101 * generated/all_l16.c: Regenerated.
102 * generated/all_l1.c: Regenerated.
103 * generated/all_l2.c: Regenerated.
104 * generated/all_l4.c: Regenerated.
105 * generated/all_l8.c: Regenerated.
106 * generated/any_l16.c: Regenerated.
107 * generated/any_l1.c: Regenerated.
108 * generated/any_l2.c: Regenerated.
109 * generated/any_l4.c: Regenerated.
110 * generated/any_l8.c: Regenerated.
111 * generated/count_16_l.c: Regenerated.
112 * generated/count_1_l.c: Regenerated.
113 * generated/count_2_l.c: Regenerated.
114 * generated/count_4_l.c: Regenerated.
115 * generated/count_8_l.c: Regenerated.
116 * generated/maxloc1_16_i16.c: Regenerated.
117 * generated/maxloc1_16_i1.c: Regenerated.
118 * generated/maxloc1_16_i2.c: Regenerated.
119 * generated/maxloc1_16_i4.c: Regenerated.
120 * generated/maxloc1_16_i8.c: Regenerated.
121 * generated/maxloc1_16_r10.c: Regenerated.
122 * generated/maxloc1_16_r16.c: Regenerated.
123 * generated/maxloc1_16_r4.c: Regenerated.
124 * generated/maxloc1_16_r8.c: Regenerated.
125 * generated/maxloc1_4_i16.c: Regenerated.
126 * generated/maxloc1_4_i1.c: Regenerated.
127 * generated/maxloc1_4_i2.c: Regenerated.
128 * generated/maxloc1_4_i4.c: Regenerated.
129 * generated/maxloc1_4_i8.c: Regenerated.
130 * generated/maxloc1_4_r10.c: Regenerated.
131 * generated/maxloc1_4_r16.c: Regenerated.
132 * generated/maxloc1_4_r4.c: Regenerated.
133 * generated/maxloc1_4_r8.c: Regenerated.
134 * generated/maxloc1_8_i16.c: Regenerated.
135 * generated/maxloc1_8_i1.c: Regenerated.
136 * generated/maxloc1_8_i2.c: Regenerated.
137 * generated/maxloc1_8_i4.c: Regenerated.
138 * generated/maxloc1_8_i8.c: Regenerated.
139 * generated/maxloc1_8_r10.c: Regenerated.
140 * generated/maxloc1_8_r16.c: Regenerated.
141 * generated/maxloc1_8_r4.c: Regenerated.
142 * generated/maxloc1_8_r8.c: Regenerated.
143 * generated/maxval_i16.c: Regenerated.
144 * generated/maxval_i1.c: Regenerated.
145 * generated/maxval_i2.c: Regenerated.
146 * generated/maxval_i4.c: Regenerated.
147 * generated/maxval_i8.c: Regenerated.
148 * generated/maxval_r10.c: Regenerated.
149 * generated/maxval_r16.c: Regenerated.
150 * generated/maxval_r4.c: Regenerated.
151 * generated/maxval_r8.c: Regenerated.
152 * generated/minloc1_16_i16.c: Regenerated.
153 * generated/minloc1_16_i1.c: Regenerated.
154 * generated/minloc1_16_i2.c: Regenerated.
155 * generated/minloc1_16_i4.c: Regenerated.
156 * generated/minloc1_16_i8.c: Regenerated.
157 * generated/minloc1_16_r10.c: Regenerated.
158 * generated/minloc1_16_r16.c: Regenerated.
159 * generated/minloc1_16_r4.c: Regenerated.
160 * generated/minloc1_16_r8.c: Regenerated.
161 * generated/minloc1_4_i16.c: Regenerated.
162 * generated/minloc1_4_i1.c: Regenerated.
163 * generated/minloc1_4_i2.c: Regenerated.
164 * generated/minloc1_4_i4.c: Regenerated.
165 * generated/minloc1_4_i8.c: Regenerated.
166 * generated/minloc1_4_r10.c: Regenerated.
167 * generated/minloc1_4_r16.c: Regenerated.
168 * generated/minloc1_4_r4.c: Regenerated.
169 * generated/minloc1_4_r8.c: Regenerated.
170 * generated/minloc1_8_i16.c: Regenerated.
171 * generated/minloc1_8_i1.c: Regenerated.
172 * generated/minloc1_8_i2.c: Regenerated.
173 * generated/minloc1_8_i4.c: Regenerated.
174 * generated/minloc1_8_i8.c: Regenerated.
175 * generated/minloc1_8_r10.c: Regenerated.
176 * generated/minloc1_8_r16.c: Regenerated.
177 * generated/minloc1_8_r4.c: Regenerated.
178 * generated/minloc1_8_r8.c: Regenerated.
179 * generated/minval_i16.c: Regenerated.
180 * generated/minval_i1.c: Regenerated.
181 * generated/minval_i2.c: Regenerated.
182 * generated/minval_i4.c: Regenerated.
183 * generated/minval_i8.c: Regenerated.
184 * generated/minval_r10.c: Regenerated.
185 * generated/minval_r16.c: Regenerated.
186 * generated/minval_r4.c: Regenerated.
187 * generated/minval_r8.c: Regenerated.
188 * generated/product_c10.c: Regenerated.
189 * generated/product_c16.c: Regenerated.
190 * generated/product_c4.c: Regenerated.
191 * generated/product_c8.c: Regenerated.
192 * generated/product_i16.c: Regenerated.
193 * generated/product_i1.c: Regenerated.
194 * generated/product_i2.c: Regenerated.
195 * generated/product_i4.c: Regenerated.
196 * generated/product_i8.c: Regenerated.
197 * generated/product_r10.c: Regenerated.
198 * generated/product_r16.c: Regenerated.
199 * generated/product_r4.c: Regenerated.
200 * generated/product_r8.c: Regenerated.
201 * generated/sum_c10.c: Regenerated.
202 * generated/sum_c16.c: Regenerated.
203 * generated/sum_c4.c: Regenerated.
204 * generated/sum_c8.c: Regenerated.
205 * generated/sum_i16.c: Regenerated.
206 * generated/sum_i1.c: Regenerated.
207 * generated/sum_i2.c: Regenerated.
208 * generated/sum_i4.c: Regenerated.
209 * generated/sum_i8.c: Regenerated.
210 * generated/sum_r10.c: Regenerated.
211 * generated/sum_r16.c: Regenerated.
212 * generated/sum_r4.c: Regenerated.
213 * generated/sum_r8.c: Regenerated.
214
215 2011-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
216
217 PR libgfortran/48047
218 * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.
219
220 2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
221
222 PR libfortran/47802
223 * intrinsics/ctime.c (strctime): Use builtins to check localtime_r
224 return type.
225
226 2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
227
228 PR libfortran/47802
229 * intrinsics/ctime.c (strctime): Don't use return value of
230 localtime_r.
231
232 2011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
233
234 PR libgfortran/47567
235 * io/write_float.def (output_float): Move handling of w = 0 to after
236 output rounding. Check for zero and set zero_flag accordingly. Set
237 width according to zero_flag. Add better comments.
238
239 2011-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
240
241 PR libgfortran/47778
242 * io/list_read.c (namelist_read): Intialize the error string buffere.
243 If pprev_nl was used during the previous namelist read and the rank
244 was zero, reset the pointer to NULL for the next namelist read.
245
246 2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
247
248 PR libfortran/45165
249 * unix.c (fallback_access): Fix file descriptor leaks.
250
251 2011-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
252
253 * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable
254 tested in configure.host.
255 * configure: Regenerate.
256
257 2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
258
259 PR libfortran/47802
260 * config.h.in: Regenerated.
261 * configure: Regenerated.
262 * configure.ac: Remove checks for ctime and ctime_r, add check for
263 strftime.
264 * intrinsics/date_and_time.c (localtime_r): Move fallback
265 implementation to time_1.h.
266 * intrinsics/time_1.h (localtime_r): Fallback implementation.
267 * intrinsics/ctime.c: Include time_1.h.
268 (ctime_r): Remove fallback implementation.
269 (strctime): New function.
270 (fdate): Use strctime instead of ctime_r.
271 (fdate_sub): Likewise.
272 (ctime): Likewise.
273 (ctime_sub): Likewise.
274
275 2011-02-24 Jakub Jelinek <jakub@redhat.com>
276
277 PR fortran/47878
278 * io/transfer.c (read_sf): Call fbuf_getptr only at the end,
279 and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it.
280
281 2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
282
283 PR libfortran/47802
284 * configure.ac: Add test for POSIX getpwuid_r.
285 * intrinsics/getlog.c (getlog): CPP test for
286 HAVE_POSIX_GETPWUID_R.
287 * config.h.in: Regenerated.
288 * configure: Regenerated.
289
290 2011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
291
292 PR libgfortran/47567
293 * io/write_float.def (output_float): Remove special case handling of
294 zero with width 1.
295
296 2011-02-23 Janne Blomqvist <jb@gcc.gnu.org>
297 Jerry DeLisle <jvdelisle@gcc.gnu.org>
298
299 PR libfortran/47694
300 * io/fbuf.h (fbuf_getptr): New inline function.
301 * io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan
302 through the string instead of fbuf_read.
303
304 2011-02-22 Tobias Burnus <burnus@net-b.de>
305 Kai-Uwe Eckhardt <kuehro@gmx.de>
306
307 PR libfortran/47830
308 * intrinsics/c99_functions.c (roundl): Make C valid for
309 HAVE_NEXTAFTERL.
310
311 2011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
312
313 PR libgfortran/47567
314 * io/write_float.def (output_float): Adjust width for F0.d to
315 allow space for negative signs on zero.
316
317 2011-02-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
318
319 PR libgfortran/47667
320 * io/list_read.c (read_logical): Check for end of line before calling
321 eat_line. (read_integer): Likewise. (parse_real): Don't unget the
322 separator. Check for end of line before calling eat_line.
323 (read_complex): Allow line-end before and after parenthesis and comma.
324 Check for end of line before calling eat_line. (read_real): Check for
325 end of line before calling eat_line.
326
327 2011-02-16 Jakub Jelinek <jakub@redhat.com>
328
329 PR libfortran/47757
330 * gfortran.map (GFORTRAN_1.4): Export
331 _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and
332 _gfortran_{cshift0,eoshift{0,2}}_16_char4.
333
334 2011-02-15 Tobias Burnus <burnus@net-b.de>
335
336 PR fortran/47716
337 PR fortran/47648
338 * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from
339 libquadmath, which uses more features.
340 * configure: Regenerate.
341
342 2011-02-14 Jakub Jelinek <jakub@redhat.com>
343
344 PR fortran/47642
345 * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of
346 quadmath_flt128tostr.
347 * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead
348 of quadmath_flt128tostr.
349
350 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
351
352 * Makefile.in: Regenerate.
353 * aclocal.m4: Likewise.
354 * configure: Likewise.
355
356 2011-02-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
357
358 PR libgfortran/47567
359 * io/write_float.def (output_float): Eliminate some redundant code.
360 Adjust width for case of F0.X for values of zero and all other values.
361 Expand cases where '*' is set to give cleaner results.
362
363 2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
364
365 PR libfortran/47571
366 * intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c.
367 (weak_gettime): Likewise.
368 (gf_gettime): Change API, move weak_gettime() usage to
369 system_clock.c
370 * intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define.
371 (gf_gettime_mono): New function.
372 (system_clock_4): Use gf_gettime_mono().
373 (system_clock_8): Likewise.
374 * intrinsics/date_and_time.c (date_and_time): Update gf_gettime()
375 usage.
376
377 2011-02-02 Janne Blomqvist <jb@gcc.gnu.org>
378
379 PR libfortran/47571
380 * configure: Regenerated.
381 * configure.ac: Don't add librt to LIBS.
382 * intrinsics/time_1.h (weak_gettime): Weakref trickery for
383 clock_gettime().
384 (gf_gettime): Use weak_gettime() instead of clock_gettime().
385
386 2011-02-01 Janne Blomqvist <jb@gcc.gnu.org>
387
388 * intrinsics/time_1.h: Include errno.h needed by fallbacks.
389
390 2011-01-31 Janne Blomqvist <jb@gcc.gnu.org>
391
392 * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro.
393
394 2011-01-31 Janne Blomqvist <jb@gcc.gnu.org>
395
396 * configure.ac: Check for clock_gettime().
397 * configure: Regenerated.
398 * config.h.in: Regenerated.
399 * intrinsics/time_1.h (__time_1): Rename to gf_cputime, add
400 times() fallback.
401 (gf_gettime): New function.
402 * intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime.
403 * intrinsics/date_and_time.c (date_and_time): Use gf_gettime.
404 * intrinsics/dtime.c (dtime_sub): Use gf_cputime.
405 * intrinsics/etime.c (etime_sub): Use gf_cputime.
406 * intrinsics/system_clock.c (system_clock_4): Use gf_gettime.
407 (system_clock_8): Use gf_gettime, increase count rate to allow
408 nanosecond precision, remove overflow prone branch.
409
410 2011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
411
412 PR libgfortran/47434
413 * io/write_float.def (write_infnan): Use calculate_sign to determine
414 if the sign should be given and check field widths accordingly.
415
416 2011-01-29 Kai Tietz <kai.tietz@onevision.com>
417
418 * intrinsics/ctime.c (ctime_r): Improve implementation.
419
420 2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
421
422 PR libfortran/47431
423 * config.h.in: Regenerated.
424 * configure: Regenerated.
425 * configure.ac: Add check for ctime_r().
426 * intrinsics/ctime.c (ctime_r): Fallback implementation.
427 (fdate): Use ctime_r() instead of ctime().
428 (fdate_sub): Likewise.
429 (ctime): Likewise.
430 (ctime_sub): Likewise.
431
432 2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
433
434 PR libfortran/47432
435 * config.h.in: Regenerated.
436 * configure: Regenerated.
437 * configure.ac: Add check for ttyname_r.
438 * io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype.
439 * io/unix.c (stream_ttyname): Use ttyname_r if available, conform
440 to new prototype.
441 * io/inquire.c (inquire_via_unit): Use changed stream_ttyname.
442 * io/intrinsics.c (ttynam_sub): Likewise.
443 (ttynam): Likewise.
444
445 2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
446
447 PR libfortran/47491
448 * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common
449 extensions.
450 * config.h.in: Regenerate.
451 * configure: Regenerate.
452
453 2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
454
455 PR libgfortran/47285
456 * io/write_float.def (write_infnan): Adjust processor selected width
457 to 3 if NaN.
458
459 2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
460
461 PR libgfortran/47285
462 * io/write_float.def (output_float): Return SUCCESS or FAILURE and use
463 the result to set the padding.
464
465 2011-01-26 Kai Tietz <kai.tietz@onevision.com>
466
467 * intrinsics/getlog.c (getlog): Fix label/statement issue.
468
469 2011-01-25 Janne Blomqvist <jb@gcc.gnu.org>
470
471 PR libfortran/47375
472 * config.h.in: Regenerated.
473 * configure: Regenerated.
474 * configure.ac: Add check for getpwuid_r.
475 * intrinsics/getlog.c (getlog): Use getpwuid_r() if available.
476
477 2011-01-22 Janne Blomqvist <jb@gcc.gnu.org>
478
479 PR libfortran/46267
480 * config.h.in: Regenerated.
481 * configure: Regenerated.
482 * configure.ac: Check presence of strerror_r.
483 * intrinsics/gerror.c (gerror): Use gf_strerror, modify logic.
484 * io/unix.c (get_oserror): Remove.
485 * libgfortran.h (gf_strerror): Add prototype.
486 (get_oserror): Remove prototype.
487 * runtime/error.c (gf_strerror): New function.
488 (os_error): Use gf_strerror instead of get_oserror.
489 (generate_errror): Likewise.
490
491 2011-01-17 Janne Blomqvist <jb@gcc.gnu.org>
492
493 PR libfortran/47296
494 * io/unix.c (tempfile): Set opp->file and opp->file_len also if an
495 error occurs.
496
497 2011-01-16 Jakub Jelinek <jakub@redhat.com>
498
499 PR fortran/46625
500 * io/write_float.def (DTOAQ): Use quadmath_flt128tostr
501 instead of quadmath_dtoa.
502 * io/transfer128.c (tmp1, tmp2): New variables, bring in
503 strtoflt128 and quadmath_flt128tostr.
504 (transfer_real128, transfer_real128_write, transfer_complex128,
505 transfer_complex128_write): Remove tmp1/tmp2 variables.
506 * io/read.c (convert_real): Use strtoflt128 instead of
507 quadmath_strtopQ, adjust for the changed arguments and return
508 value.
509
510 2011-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
511
512 PR libgfortran/47296
513 * io/unix.c (unpack_filename): Return non-zero if the filename passed
514 in is NULL.
515
516 2011-01-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
517
518 PR libgfortran/47154
519 * io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the
520 duplicate calls via next_record.
521
522 \f
523 Copyright (C) 2011 Free Software Foundation, Inc.
524
525 Copying and distribution of this file, with or without modification,
526 are permitted in any medium without royalty provided the copyright
527 notice and this notice are preserved.