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