OSDN Git Service

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