OSDN Git Service

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