OSDN Git Service

Error printing thread safety, remove GFORTRAN_USE_STDERR
[pf3gnuchains/gcc-fork.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.