OSDN Git Service

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