OSDN Git Service

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