OSDN Git Service

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