OSDN Git Service

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