OSDN Git Service

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