OSDN Git Service

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