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