OSDN Git Service

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