OSDN Git Service

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