OSDN Git Service

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